English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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" } } ] } }
Viele Parameter können über einen Uniform Resource Identifier (URI) in Suchoperationen übermittelt werden-
Nummer | Parameter 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. |
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" } } ] } }