text字符串sort会先分词。可先建立filed字段。并设置为keyword

mapping

        public void Mapping()
        {
            var response = client.IndexExists("employee");
            if (!response.Exists)
            {
                client.CreateIndex("employee");
            }
            client.Map<employee>(m => m.Properties(p => p.Text(t => t.Name("last_name").Fielddata().Analyzer("english").Fields(f=>f.Keyword(k=>k.Name("raw"))))).AutoMap());
        }

  

sort

        public void Sort()
        {
           // client.Search<employee>(s => s.Query(q => q.Bool(b => b.Filter(f => f.Term(t => t.Field("last_name").Value("test01"))))).Pretty());
            client.Search<employee>(s =>
                s.Query(q =>
                    q.ConstantScore(c =>
                        c.Filter(f =>
                            f.Term(t =>
                                t.Field("age").Value("26")
                                ))))
                    .Sort(so => 
                    so.Descending("last_name")
                     )
                    .Pretty());

        }

 

posted on 2019-09-21 09:52  chester·chen  阅读(425)  评论(0编辑  收藏  举报