该API用于在Elasticsearch中搜索内容。用户可以通过发送带有查询字符串作为参数的get请求进行搜索,或者可以在发布请求的消息正文中发布查询。搜索 api 主要是多索引、多类型的。
- 🚌一个人可以走的很快,一群人可以走的很远🇨🇳
- 🎉点赞➕评论➕收藏 ➕关注== 养成习惯(一键四连)📝
- 🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝
- 🙏作者水平有限,欢迎各位大佬指点,相互学习进步!😆
一、多索引
二、URI搜索
三、请求正文搜索
一、多索引Elasticsearch允许我们搜索所有索引或某些特定索引中存在的文档。例如,如果我们需要搜索名称包含“ central”的所有文档,则可以执行以下操作:
GET /_all/_search?q=city:paprola
二、URI搜索可以使用统一资源标识符在搜索操作中传递许多参数
序号
参数及说明
1
Q
此参数用于指定查询字符串
2
lenient
此参数用于指定查询字符串。只要将此参数设置为 true,就可以忽略基于 Formatbased 的错误。默认情况下它是假的。
3
fields
此参数用于指定查询字符串
4
sort
我们可以通过使用这个参数得到排序的结果,这个参数的可能值是fieldName, fieldName:asc/ fieldName:desc
5
timeout
我们可以通过使用这个参数来限制搜索时间,并且响应只包含指定时间内的命中。默认情况下,没有超时
6
terminate_after
们可以将响应限制为每个碎片的指定数量的文档,到达该分片时,查询将提前终止。默认情况下,没有 termin_after.
7
from
要返回的命中数的起始索引。默认为0。
8
size
它表示要返回的命中数,默认值为10。
三、请求正文搜索我们还可以在请求正文中使用查询DSL来指定查询,并且在前面的章节中已经给出了很多示例。这里给出一个这样的实例-
POST /schools/_search
{
"query":{
"query_string":{
"query":"up"
}
}
}