开发者学堂课程【ElasticSearch 入门精讲:排序 sort】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/631/detail/9995
排序 sort
ES 查询详解之排序 sort
.addSort("age", SortOrder.DESC)
*排序查询演示 */ @Test public void sortsearch() { //需求:检素索引库 bank 中的 type 之 account 中所有男性客户,根据得分降序排列,若得分相同,然后根据得分降序排列,若得分相同,然后根据每 个账户的余额升序排列。 //步骤: //1)检索 SearchResponse response = client. preparesearch(indices) . setTypes ("account") //设置检索的条件 . setQuery(QueryBui 1ders . termQuery(" gender. keyword", "M")) //定制排序规则 //:根据得分降序排列 . addsort (SortBui 1ders. scoresort( . order(sortorder . DESC)) //c若得分相同,根据银行存款余额的升序排列 I . addSort(SortBuilders. fieldsort("balance") . order(Sortorder . ASC)) //设置分页 . setFrom(0) . setsize (1000) //触发检索 .get(); /** *排序检索索引库 *查询索引库之 bank 下的 type 之 account,查询所有女性账户的信息,首先根据分数进行降序排列,若是分数相同,根据银行存款开序排列。 @Test public void testOrderSort() { //步骤 //查询 SearchResponse response = client.prepareSearch( ..indices: "bank") .setTypes("account") //女性账户 .setQuery(QueryBuilders. termQuery name: "gender.keyword", value: "F")) //根据得分降序排列 .addSort(SortBuilders. scoreSort().order(SortOrder. DESC) //根据银行存款余额进行开序排列 .addSort(SortBuilders.fieldSort("balance").order(SortOrder.ASC) .setFrom(0) .setSize(1000) .get(); |