Anzeigen von Feldern in einem Elasticsearch-Index

Untersuchung von Techniken zur Darstellung von Feldern in einem Elasticsearch-Index.

Mit Elasticsearch können Sie Daten schnell und flexibel indexieren. Testen Sie es kostenlos in der Cloud oder führen Sie es lokal aus, um zu erfahren, wie einfach die Indizierung sein kann.

In diesem Artikel werden wir erläutern, wie Felder in einem Elasticsearch-Index angezeigt werden. Dies kann hilfreich sein, um die Struktur Ihrer Daten zu verstehen, bestimmte Felder zu identifizieren und Probleme zu beheben. Wir werden folgende Themen behandeln:

  1. Verwendung der _mapping API zum Abrufen von Feldinformationen
  2. Verwendung der _search API zum Anzeigen von Feldwerten
  3. Filtern von Feldern mithilfe des Parametersfields
  4. Verschachtelte Felder anzeigen

1. Verwendung der _mapping-API zum Abrufen von Feldinformationen

Die _mapping API ermöglicht es Ihnen, die Mapping-Definition für einen oder mehrere Indizes abzurufen. Dies umfasst Informationen über die Felder, ihre Datentypen und weitere Eigenschaften. Um die Zuordnung für einen bestimmten Index abzurufen, verwenden Sie die folgende Anfrage:

Wenn Sie beispielsweise einen Index mit dem Namen my_index haben, können Sie dessen Zuordnung mit der folgenden Anfrage abrufen:

Die Antwort enthält die Mapping-Definition für den Index, die Informationen über die Felder und deren Eigenschaften enthält.

Es ist auch möglich, die Zuordnung eines bestimmten Feldes abzurufen. Dies kann nützlich sein, wenn Ihre Kartierung recht umfangreich ist und Sie sich nur auf ein bestimmtes Feld konzentrieren möchten. Um die Zuordnung eines bestimmten Feldes abzurufen, verwenden Sie die folgende Anfrage:

Sie können die Zuordnungen mehrerer Felder auch abrufen, indem Sie deren Namen durch Kommas trennen, wie in der folgenden Anfrage:

2. Verwenden der _search-API zum Anzeigen von Feldwerten

Um die Werte von Feldern in einem Elasticsearch-Index anzuzeigen, können Sie die _search API verwenden. Standardmäßig gibt die _search API das Feld _source zurück, welches das ursprüngliche JSON-Dokument enthält, das indiziert wurde. Um nur bestimmte Felder anzuzeigen, können Sie den Parameter _source in der Suchanfrage verwenden.

Hier ist ein Beispiel für eine Suchanfrage, die die Werte der Felder title und author für Dokumente im Index my_index zurückgibt:

In diesem Beispiel gibt der Parameter _source die zurückzugebenden Felder an.

3. Filtern von Feldern mithilfe des Parameters „fields“

Sie können auch den Parameter fields verwenden, um die in der Suchantwort zurückgegebenen Felder zu filtern. Dies kann nützlich sein, wenn Sie nur bestimmte Felder benötigen und die Größe der Antwort reduzieren möchten. Der Parameter fields akzeptiert ein Array von Feldnamen oder Platzhaltermustern.

Um beispielsweise nur die Felder title und author für Dokumente im Index my_index zurückzugeben, können Sie die folgende Suchanfrage verwenden:

Beachten Sie, dass der Parameter _source auf false gesetzt ist, um das Quelldokument nicht zurückzugeben.

Um alle Felder mit dem Datentyp text zurückzugeben, können Sie ein Wildcard-Muster wie dieses verwenden:

4. Anzeigen verschachtelter Felder

Wenn Ihr Index verschachtelte Felder enthält, können Sie die Punktnotation verwenden, um den Pfad des verschachtelten Feldes im Parameter fields anzugeben. Wenn Sie beispielsweise ein verschachteltes Feld mit dem Namen address.city haben, können Sie es wie folgt in die Suchergebnisseinlösung einbinden:

In diesem Beispiel enthält die Suchergebnisseinsendung die Werte der Felder title, author und address.city .

Fazit

Zusammenfassend lässt sich sagen, dass die Anzeige von Feldern in einem Elasticsearch-Index durch die Verwendung der _mapping -API zum Abrufen von Feldinformationen und der _search -API zum Anzeigen von Feldwerten erreicht werden kann. Sie können die in der Suchantwort zurückgegebenen Felder entweder mit den Parametern _source oder fields filtern und verschachtelte Felder mit der Punktnotation anzeigen. Mithilfe dieser Techniken können Sie die Struktur Ihrer Daten verstehen, bestimmte Felder identifizieren und Probleme beheben.

Zugehörige Inhalte

Sind Sie bereit, hochmoderne Sucherlebnisse zu schaffen?

Eine ausreichend fortgeschrittene Suche kann nicht durch die Bemühungen einer einzelnen Person erreicht werden. Elasticsearch wird von Datenwissenschaftlern, ML-Ops-Experten, Ingenieuren und vielen anderen unterstützt, die genauso leidenschaftlich an der Suche interessiert sind wie Sie. Lasst uns in Kontakt treten und zusammenarbeiten, um das magische Sucherlebnis zu schaffen, das Ihnen die gewünschten Ergebnisse liefert.

Probieren Sie es selbst aus