其他分享
首页 > 其他分享> > Elasticsearch -- 搜索API

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