扫码阅读
手机扫码阅读
Elasticsearch(ES)搜索结果排序、分页和高亮
174 2024-07-17
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
springboot葵花宝典
扫码关注公众号
今日目标
掌握DSL查询文档排序、分页和高亮。
1.排序
Elasticsearch默认使用相关度得分(_score)排序,同时支持自定义字段排序,包括keyword类型、数值类型、地理坐标类型和日期类型等。
1.1.普通字段排序
普通字段排序支持多个排序条件,排序条件数组与query标签平行,按声明的顺序依次排序。
1.2.排序示例
举例完成酒店数据根据用户评价降序,价格升序排序的操作。
2.地理坐标排序
地理坐标排序根据文档中geo_point类型字段与目标坐标点的距离进行排序。
2.1.地理坐标排序示例
实例演示如何对酒店数据按照与某位置坐标的距离进行升序排序。
3.分页
Elasticsearch默认返回前10条数据,通过修改from和size参数控制返回的结果,类似于MySQL的LIMIT语句。
3.1.基本的分页
展示如何使用from和size参数进行基本的分页查询。
3.2.深度分页问题
讨论了在查询深度分页数据时产生的性能问题,以及Elasticsearch限制from + size超过10000的请求。
解决方案包括:
- search after:支持无上限分页,推荐使用。
- scroll:不推荐使用,有额外内存消耗并且结果非实时。
4.高亮
高亮显示通过为文档关键字添加标签实现,要求搜索条件包含关键字且字段必须与搜索指定字段一致。
4.1.高亮原理
解释了高亮显示的概念和实现步骤。
4.2.实现高亮
介绍了高亮显示的具体语法。
4.3.高亮示例
提供了一个高亮显示的实际例子。
总结
讨论了分页查询的不同实现方案及其优缺点,并简述了查询的DSL包含的属性。
想要了解更多内容?
文章来源:
springboot葵花宝典
扫码关注公众号
springboot葵花宝典的其他文章
Vue结合Element实现+SpringBoot实现前后端CURD
Vue结合Element实现+SpringBoot实现前后端CURD在本
Java程序员易踩的坑及解析
Java程序员易踩的坑及解析
Nacos:打造你的爆款配置中心
,今天我想向大家介绍一个当下最热门的配置中心——Nacos。作为一个高性能、可扩展的开源配置中心,Nacos 在开发人员和运维人员中都越来越受欢迎。在本文中,我们将深入了解 Nacos 的特点和功能,以及如何使用它来实现配置的集中管理。
网站工作流程介绍
我们学习web开发,首先要知道什么是Web?Web: 全球广域网,也称为万维网(www World Wide
Elasticsearch(ES)的DSL语法与搜索
Elasticsearch(ES)的DSL语法与搜索
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线