springboot 2.0集成elasticsearch 7.6.2 (集群)关键字高亮显示
Posted k↑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 2.0集成elasticsearch 7.6.2 (集群)关键字高亮显示相关的知识,希望对你有一定的参考价值。
小伙伴们,你们好呀,我是老寇,跟我一起学习es 7.6.2
老寇-es通过关键字高亮显示
一、搜索入门
1.无条件搜索命令
GET /index/_search
GET /message/_search
2.传参搜索命令
GET /index/_search?q=filed:value
GET /message/_search?q=id:1424966164936024065
问题扩展: + 和 - 区别(见如下举例说明)
GET /message/_search?q=+id:1424966164936024065 #查询id=1424966164936024065的数据
GET /message/_search?q=-id:1424966164936024065 #查询id!=1424966164936024065的数据
3.分页搜索命令
GET /index/_search?size=x&from=x
GET /message/_search?size=10&from=0
注:类似sql > select * from message 0,10
问题扩展:分页过深,对性能有哪些影响?
1.消耗网络带宽,搜的过深,各分片(shard)要把数据传递给协调节点(coordinating node),这个过程中有大量数据传输,消耗网络
2.消耗内存,各节点(shard)要把数据传给协调节点(coordinating node),这个传递回来的数据,被协调节点(coordinating node)保存在内存中,这样会大量消耗内存
3.消耗cpu,协调节点(coordinating node)要把传回来的数据进行排序,这个排序过程很消耗cpu
因此,出于对深度分页(deep paging)的性能考虑,能少用就尽量少用
二、DSL入门
es所独有的搜索语言(ps:有点类似sql语言),可以在请求体携带搜索条件,功能强大
1.查询全部
举个栗子
GET /message/_search
"query":
"match_all":
注:看到这里,小伙伴们就要问了,es的get请求为什么可以携带请求体?这是因为es对此做出处理,至于是怎么处理的,感兴趣的小伙伴,可以去查阅资料
2.数据排序
举个栗子
GET /message/_search
"query":
"match":
"desc": "群聊"
,
"sort": [
"createDate":
"order": "desc"
]
3.分页查询
举个栗子
GET /message/_search
"query":
"match_all":
,
"from": 0,
"size": 10
4.返回指定字段
举个栗子
GET /message/_search
"query":
"match_all":
,
"_source": ["username","data"]
三、Query DSL语法
1.DSL 命令
query_name:
argument:value
......
或者
query_name:
field_name:
argument:value
......
举个栗子
GET /message/_search
"query":
"match":
"desc": "群聊"
2.多条件组合搜索
举个栗子
GET /message/_search
"query":
"bool":
"must": [
"match":
"username": "admin"
],
"should": [
"match":
"desc": "群聊"
],
"must_not": [
"match":
"desc": "私聊"
]
GET /message/_search
"query":
"bool":
"must": [
"match":
"sendId": "1363109342432645122"
],
"should": [
"match":
"username": "admin"
,
"bool":
"must": [
"match":
"data": "无名,天地之始,有名,万物之母。"
]
]
以上是关于springboot 2.0集成elasticsearch 7.6.2 (集群)关键字高亮显示的主要内容,如果未能解决你的问题,请参考以下文章
springboot 2.0集成elasticsearch 7.6.2(集群)
springboot 2.0 集成 kafka 2.6.2(集群) + elk 7.6.2(集群)
Spring Boot 2.0 图文教程 | 集成邮件发送功能
springboot 2.0集成elasticsearch 7.6.2 (集群)关键字高亮显示