English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Elasticsearch-Such-API

Diese API wird verwendet, um Inhalte in Elasticsearch zu durchsuchen. Benutzer können eine Suche durch Senden einer GET-Anfrage mit einem Query-String als Parameter durchführen oder eine Anfrage im Textkörper der Nachrichten veröffentlichen. Die Such-API ist hauptsächlich für mehrere Indizes und mehrere Typen.

Mehrere Indizes

Elasticsearch ermöglicht es uns, alle Indizes oder bestimmte Indizes zu durchsuchen, in denen Dokumente vorhanden sind. Zum Beispiel können wir nachfolgendes ausführen, um alle Dokumente zu suchen, deren Namen "central" enthalten:

GET /_all/_search?q=city:paprola

Bei der Ausführung des obigen Codes erhalten wir die folgende Antwort-

{
   "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-Suche

Viele Parameter können über einen Uniform Resource Identifier (URI) in Suchoperationen übermittelt werden-

NummerParameter und Erklärung
1

Q

Dieser Parameter wird verwendet, um den Suchstring zu spezifizieren

2

lenient

Dieser Parameter wird verwendet, um den Suchstring zu spezifizieren. Wenn dieser Parameter auf true gesetzt wird, werden Fehler basierend auf Format-basierten Fehlern ignoriert. Standardmäßig ist es falsch.

3

fields

Dieser Parameter wird verwendet, um den Suchstring zu spezifizieren

4

sort

Wir können das Sortierungsergebnis mit diesem Parameter erhalten, die möglichen Werte sind fieldName, fieldName:asc/ fieldName:desc

5

timeout

Wir können die Suchzeit mit diesem Parameter begrenzen, und die Antwort enthält nur Treffer innerhalb der angegebenen Zeit. Standardmäßig gibt es keine Timeout.

6

terminate_after

Wir können die Antwort auf die angegebene Anzahl von Dokumenten pro Shard beschränken, und wenn der Shard erreicht wird, wird die Abfrage vorzeitig beendet. Standardmäßig gibt es keine "termin_after".

7

from

Der Startindex der Anzahl der zurückgegebenen Treffer. Der Standardwert ist 0.

8

size

Es bedeutet die Anzahl der Treffer, die zurückgegeben werden sollen, der Standardwert ist10.

Anfragekörper Suchanfrage

Wir können auch im Anfragekörper eine Query-DLS verwenden, um die Abfrage zu spezifizieren, und im vorherigen Kapitel wurden viele Beispiele gegeben. Hier ist ein solcher Fall-

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

Bei der Ausführung des obigen Codes erhalten wir die folgende Antwort-

{
   "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": [
                  "vollständig computerisiert"
               ],
               "rating": ""4.5"
            }
         }
      ]
   }
}