Elasticsearch -- 搜索API
作者:互联网
简介
该API用于在Elasticsearch中搜索内容。用户可以通过发送带有查询字符串作为参数的get请求进行搜索,或者可以在发布请求的消息正文中发布查询。搜索 api 主要是多索引、多类型的。
多索引
Elasticsearch允许我们搜索所有索引或某些特定索引中存在的文档。
例如,如果我们需要搜索city名称包含“Meerut”的所有文档,则可以执行以下操作:
GET /_all/_search?q=city:Meerut
返回:
{ "took": 1, "timed_out": false, "_shards": { "total": 4, "successful": 4, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 0.2876821, "hits": [ { "_index": "school", "_id": "1", "_score": 0.2876821, "_source": { "name": "City School", "description": "ICSE", "street": "West End", "city": "Meerut", "state": "UP" } } ] } }
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。 |
请求正文搜索
又叫全文搜索, 会自动匹配 _source 下的所有内容
POST /schools/_search { "query":{ "query_string":{ "query":"City" } } }
搜索内容包含 “City” 的文档
返回:
{ "took": 0, "timed_out": false, "_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 0.2876821, "hits": [ { "_index": "school", "_id": "1", "_score": 0.2876821, "_source": { "name": "City School", "description": "ICSE", "street": "West End", "city": "Meerut", "state": "UP" } } ] } }
标签:hits,score,--,0.2876821,查询,API,搜索,Elasticsearch,Meerut 来源: https://www.cnblogs.com/TF511/p/16499604.html