Elasticsearch 搜索API

該API用于在Elasticsearch中搜索內(nèi)容。用戶可以通過發(fā)送帶有查詢字符串作為參數(shù)的get請求進行搜索,或者可以在發(fā)布請求的消息正文中發(fā)布查詢。搜索 api 主要是多索引、多類型的。

多索引

Elasticsearch允許我們搜索所有索引或某些特定索引中存在的文檔。例如,如果我們需要搜索名稱包含“ central”的所有文檔,則可以執(zhí)行以下操作:

GET /_all/_search?q=city:paprola

在運行上面的代碼時,我們得到以下響應(yīng)-

{
   "took" : 33,
   "timed_out" : false,
   "_shards" : {
      "total" : 7,
      "successful" : 7,
      "skipped" : 0,
      "failed" : 0
   },
   "hits" : {
      "total" : {
         "value" : 1,
         "relation" : "eq"
      },
      "max_score" : 0.9808292,
      "hits" : [
         {
            "_index" : "schools",
            "_type" : "school",
            "_id" : "5",
            "_score" : 0.9808292,
            "_source" : {
               "name" : "Central School",
               "description" : "CBSE Affiliation",
               "street" : "Nagan",
               "city" : "paprola",
               "state" : "HP",
               "zip" : "176115",
               "location" : [
                  31.8955385,
                  76.8380405
               ],
               "fees" : 2200,
               "tags" : [
                  "Senior Secondary",
                  "beautiful campus"
               ],
               "rating" : "3.3"
            }
         }
      ]
   }
}

URI搜索

可以使用統(tǒng)一資源標(biāo)識符在搜索操作中傳遞許多參數(shù)-

序號參數(shù)及說明
1

Q

此參數(shù)用于指定查詢字符串

2

lenient

此參數(shù)用于指定查詢字符串。只要將此參數(shù)設(shè)置為 true,就可以忽略基于 Formatbased 的錯誤。默認(rèn)情況下它是假的。

3

fields

此參數(shù)用于指定查詢字符串

4

sort

我們可以通過使用這個參數(shù)得到排序的結(jié)果,這個參數(shù)的可能值是fieldName, fieldName:asc/ fieldName:desc

5

timeout

我們可以通過使用這個參數(shù)來限制搜索時間,并且響應(yīng)只包含指定時間內(nèi)的命中。默認(rèn)情況下,沒有超時

6

terminate_after

們可以將響應(yīng)限制為每個碎片的指定數(shù)量的文檔,到達該分片時,查詢將提前終止。默認(rèn)情況下,沒有 termin_after.

7

from

要返回的命中數(shù)的起始索引。默認(rèn)為0。

8

size

它表示要返回的命中數(shù),默認(rèn)值為10。

請求正文搜索

我們還可以在請求正文中使用查詢DSL來指定查詢,并且在前面的章節(jié)中已經(jīng)給出了很多示例。這里給出一個這樣的實例-

POST /schools/_search
{
   "query":{
      "query_string":{
         "query":"up"
      }
   }
}

在運行上面的代碼時,我們得到以下響應(yīng)-

{
   "took" : 11,
   "timed_out" : false,
   "_shards" : {
      "total" : 1,
      "successful" : 1,
      "skipped" : 0,
      "failed" : 0
   },
   "hits" : {
      "total" : {
         "value" : 1,
         "relation" : "eq"
      },
      "max_score" : 0.47000363,
      "hits" : [
         {
            "_index" : "schools",
            "_type" : "school",
            "_id" : "4",
            "_score" : 0.47000363,
            "_source" : {
               "name" : "City Best School",
               "description" : "ICSE",
               "street" : "West End",
               "city" : "Meerut",
               "state" : "UP",
               "zip" : "250002",
               "location" : [
                  28.9926174,
                  77.692485
               ],
               "fees" : 3500,
               "tags" : [
                  "fully computerized"
               ],
               "rating" : "4.5"
            }
         }
      ]
   }
}
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清