Elasticsearch erhalten Dokument

Elasticsearch erhalten Dokument
„Elasticsearch ist eine beliebte und leistungsstarke Suchmaschine, die große Datenmengen behandeln kann. In diesem Sinne kann ElasticSearch in eine relationale Datenbank zugänglich sein, da Sie Daten speichern können.

Wie bei allen Datenbanken erstellen, holen Sie Datenbanken aus der Datenbank, holen, aktualisieren und löschen. Im Gegensatz zu relationalen Datenbanken liefert Elasticsearch jedoch keine integrierte Abfragestrach wie SQL, CQL usw. Stattdessen interagieren wir mit den API -Endpunkten, die Elasticsearch enthüllt, und ermöglicht es uns, zahlreiche Aktionen mit einfachen HTTP -Anrufen auszuführen.”

In der Post werden Sie feststellen.

API -Syntax

Mit der GET -Dokument -API können wir JSON -Dokumente abrufen, die in einem bestimmten Index gespeichert sind. Der folgende Ausschnitt zeigt die Anforderungssyntax zum Abholen von Dokumenten.

Get /_doc /<_id>

Sie können auch die HTTP -Methode zur Überprüfung eines Dokuments verwenden, anstatt es zurückzugeben. Die Syntax ist wie gezeigt:

KOPF /_doc/<_id>

Die Anforderung enthält die folgenden Parameter:

  1. - Gibt den Namen des Index an, auf dem das Zieldokument gespeichert ist.
  2. - Gibt die eindeutige ID des Zieldokuments an.

Die Anfrage unterstützt auch die folgenden Abfrageparameter. Diese ermöglichen es Ihnen, zu ändern, wie sich die API verhält und das Ergebnis der Abfrage ist. Diese Parameter umfassen:

  1. Präferenz - definiert den Zielknoten/den Ziel, auf dem der Abruf ausgeführt wird.
  2. Echtzeit-stellt sicher, dass das Ergebnis im Gegensatz zum Standard, der nahezu Echtzeit ist, absolute Echtzeit ist.
  3. Aktualisieren - Ermöglicht die Anfrage, auf die regelmäßige Aktualisierung von Elasticsearch zu warten. Dieser Parameter kann auch der Anforderung ermöglichen.
  4. Routing - Gibt Routenvorgänge für einen bestimmten Knoten/Shard an.
  5. _Source - Ein boolescher Wert, der feststellt.
  6. _Source_Excludes - Gibt eine Liste von Quellfeldern an, die vom Ergebnis ausgeschlossen sind.
  7. _Source_includes - Quellfelder im Ergebnis enthalten.
  8. Version - Gibt die Versionsnummer für die Parallelitätsverwaltung an.

Rückgabewert

Die Anfrage des GET -Dokuments hat die folgenden Werte:

  1. _Index - Der Name des Index, zu dem die abgefragten Dokumente gehören.
  2. _id - Die ID des abfragten Dokuments.
  3. _SEQ_NO - Die Sequenznummer des für die Indizierung verwendeten Dokuments.
  4. _primary_term - zeigt den primären Begriff für das Dokument an.
  5. gefunden - gibt an, ob der Datensatz existiert oder nicht als boolescher Wert.
  6. _routing - repräsentiert das in der Anfrage angegebene Erkundungsrouting.
  7. _Source - Hält die Dokumentdaten als JSON.
  8. _field - Zeigt die Dokumentfelder an.

Beispiel - Elasticsearch -Fetch -Dokument

Das folgende Beispiel zeigt, wie ein Dokument mit der ID von 'qxya7yib38eq5H5GT9RU' aus dem Index namens 'kibana_sample_data_logs abgerufen wird.''

curl -xget "http: // localhost: 9200/kibana_sample_data_logs/_doc/qxya7yib38eq5H5GT9RU" -H "KBN -XSRF: Berichterstattung"

Sobald wir die obige Abfrage ausgeführt haben, sollten wir wie gezeigt eine Antwort erhalten:


"_index": "Kibana_Sampel_Data_logs",
"_id": "qxya7yib38eq5h5gt9ru",
"_Version 1,
"_seq_no": 2383,
"_primary_term": 1,
"gefunden": wahr,
"_Quelle":
"Agent": "Mozilla/5.0 (x11; Linux i686) Applewebkit/534.24 (khtml wie Gecko) Chrome/11.0.696.50 Safari/534.24 ",
"Bytes": 4447,
"Clientip": "70.141.48.11 ",
"Erweiterung": "Zip",
"Geo":
"srcdest": "uns: bd",
"Src": "wir",
"Dest": "Bd",
"Koordinaten":
"lat": 38.14893833,
"Lon": -89.69870972

,
"Gastgeber": "Artefakte.elastisch.Co ",
"Index": "Kibana_Sampel_Data_logs",
"IP": "70.141.48.11 ",
"Maschine":
"Ram": 7516192768,
"OS": "Gewinnen Sie 8"
,
"Speicher": Null,
"Nachricht": "70.141.48.11 - - [2018-08-01T12: 14: 55.373z] "Get /Kibana /Kibana-6.3.2-Windows-X86_64.ZIP HTTP/1.1 "200 4447"-"" Mozilla/5.0 (x11; Linux i686) Applewebkit/534.24 (khtml wie Gecko) Chrome/11.0.696.50 Safari/534.24 "" ",
"phpMemory": null,
"Referer": "http: // Twitter.Com/Erfolg/Mary-Weber ",
"Anfrage": "/Kibana/Kibana-6.3.2-Windows-X86_64.Reißverschluss",
"Antwort": 200,
"Stichworte": [
"Erfolg",
"die Info"
],
"Zeitstempel": "2022-08-31T12: 14: 55.373z ",
"URL": "https: // Artefakte.elastisch.CO/Downloads/Kibana/Kibana-6.3.2-Windows-X86_64.Reißverschluss",
"UTC_Time": "2022-08-31T12: 14: 55.373z ",
"Fall":
"Datensatz": "Sample_Web_logs"


Beispiel 2 - Überprüfen Sie, ob ein Dokument vorhanden ist

Sie können mit der HTTP -Methode der Kopfhöhe überprüfen, ob ein Dokument mit der angegebenen ID vor dem Abrufen vorhanden ist.

curl -xhead "http: // localhost: 9200/kibana_sample_data_logs/_doc/qxya7yib38eq5H5GT9RU" -H "KBN -XSRF: Berichterstattung"

Wenn das Dokument im Index vorliegt, gibt die Anforderung eine 200 zurück - OK.

Andernfalls gibt die Anfrage zurück, wenn das Dokument nicht im angegebenen Index gefunden wird:


"Statuscode": 404,
"Error nicht gefunden",
"Nachricht": "404 - nicht gefunden"

Beispiel 3 - bestimmte Felder abrufen

Wir können bestimmte Felder des Dokuments abrufen, indem wir den Parameter "Source_includes" festlegen:

curl -xget "http: // localhost: 9200/kibana_sample_data_logs/_doc/qxya7yib38eq5H5GT9RU?_Source_includes =*.ID, Clientip, Maschine.OS, Antwort "-H" KBN -XSRF: Berichterstattung "

Die obige Anfrage sollte die Dokumente mit der angegebenen ID abrufen und nur die Felder ID, Clientip, Betriebssystem und Antwort zurückgeben.

Die Antwort ist wie gezeigt:


"_index": "Kibana_Sampel_Data_logs",
"_id": "qxya7yib38eq5h5gt9ru",
"_Version 1,
"_seq_no": 2383,
"_primary_term": 1,
"gefunden": wahr,
"_Quelle":
"Clientip": "70.141.48.11 ",
"Maschine":
"OS": "Gewinnen Sie 8"
,
"Antwort": 200

Abschluss

In diesem Artikel haben Sie untersucht.