排序 sort|学习笔记

简介: 快速学习排序 sort。

开发者学堂课程【ElasticSearch 最新快速入门教程排序 sort】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/642/detail/10659


排序 sort

 

内容介绍

一、 ES JavaAPI 排序 sort

二、 案例实操

 

一、 ES JavaAPI 排序 sort

案例:

核心代码:addSort(“age”,SortOrder.DESC)//将年龄按照降序排列。

排序查询演示:

@Test

public void sortSearch (){

//需求:检索索引库 bank 中的 type 之 account 中所有男性客户,根据得分降序排列,若得分相同,然后根据每个账户的余额升序排列。

//步骤:

1. 检索

SearchResponse response=client.prepareSearch(indices).setTypes(“account”)

//设置检索的条件

.setQuery(QueryBuilders.termQuery(“gender.keyword”,“M))

//定制排序规则

//根据得分降序排列

.addSort(SortBuilders.scoreSort().order(SortOrder.DESC))

//若得分相同,根据银行存款余额的升序排列

. addSort(SortBuilders.fieldSort(“balance”).order(SortOrder.ASC))

//设置分页

.setFrom(0)

.setSize(1000)

//触发检索

.get();

2 .分析并显示检索后的结果

SearchHits hits = response.getHits();

for(SearchHits hit:hits){

float score=hit.getscore();

string source=hit.getSourceAsString();

System.out.print(“当前索引的得分是:%.8f,内容是:%s%n”,score,source);

}

}

 

二、 案例实操

(1) 排序检索索引库

需求:查询索引库之 bank 下的 type 之 account ,查询所有女性账户的信息,首先根据分数进行降序排列,若是分数相同,根据银行存款升序排列。

@Test

public void testOrder(){

//步骤

//查询

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();

//分析并显示检索后的结果

SearchHits hits = response.getHits();

System.out.println(“得分\t\t内容”);

System.out.println(“                      ”);

for(SearchHits hit:hits){

System.out.println(hit.getSource()+“\t\t”+hit.getSourceAsString());

}

2运行结果

image.png

因为整个数据库有一千条,所以截图只展示部分检索结果.

3)数据库附图

image.png

相关文章
|
6月前
排序——sort的用法
排序——sort的用法
52 0
|
6月前
|
搜索推荐 数据库 C++
带用排序等法sort讲解
带用排序等法sort讲解
38 0
|
搜索推荐 C++
C++利用sort进行排序
C++利用sort进行排序
|
6月前
|
C++
C++如何进行sort的使用——C++如何进行排序
C++如何进行sort的使用——C++如何进行排序
97 0
|
6月前
|
小程序
排序sort()排序用法
排序sort()排序用法
排序(Sort)(一)
排序(Sort)(一)
85 0
排序(Sort)(二)
排序(Sort)(二)
63 0
|
NoSQL Redis
SORT
SORT
101 0
|
搜索推荐 开发者 Python
sort 方法的使用 | 学习笔记
快速学习 sort 方法的使用
sort 方法的使用 | 学习笔记
|
开发者 索引
排序 sort | 学习笔记
快速学习排序 sort