Elasticsearch-Felder von der Indizierung ausschließen

Hier wird erklärt, wie man Elasticsearch so konfiguriert, dass Felder ausgeschlossen werden, warum man dies tun möchte und welche Best Practices dabei zu beachten sind.

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 Elasticsearch bezeichnet Indexierung den Prozess des Speicherns und Organisierens von Daten, sodass diese leicht durchsuchbar sind. Während die Indizierung aller Felder eines Dokuments in manchen Fällen sinnvoll sein kann, gibt es Situationen, in denen man bestimmte Felder von der Indizierung ausschließen möchte. Dies kann dazu beitragen, die Leistung zu verbessern, die Speicherkosten zu senken und die Gesamtgröße Ihres Elasticsearch-Index zu minimieren.

In diesem Artikel werden wir die Gründe für den Ausschluss von Feldern aus der Indizierung, die Konfiguration von Elasticsearch zum Ausschluss bestimmter Felder und einige bewährte Vorgehensweisen dabei erläutern.

Gründe für den Ausschluss von Feldern aus der Indizierung

  1. Leistung: Die Indizierung aller Felder in einem Dokument kann zu längeren Indizierungszeiten und einer langsameren Suchleistung führen. Durch den Ausschluss von Feldern, die für die Suche oder Aggregation nicht erforderlich sind, können Sie die Gesamtleistung Ihres Elasticsearch-Clusters verbessern.
  2. Speicherplatz: Das Indizieren von Feldern benötigt Speicherplatz. Durch das Ausschließen von Feldern, die für die Suche oder Aggregation nicht benötigt werden, können die Speicheranforderungen Ihres Elasticsearch-Clusters reduziert werden.
  3. Indexgröße: Die Größe eines Elasticsearch-Index steht in direktem Zusammenhang mit der Anzahl der indizierten Felder. Durch den Ausschluss unnötiger Felder können Sie die Größe Ihres Index minimieren, was zu einer schnelleren Such- und Indexierungsleistung führen kann.

Elasticsearch so konfigurieren, dass Felder ausgeschlossen werden

Um ein Feld von der Indizierung in Elasticsearch auszuschließen, können Sie die „index“-Eigenschaft in der Feldzuordnung verwenden. Wenn die Eigenschaft „index“ auf „false“ gesetzt wird, wird Elasticsearch das Feld nicht indizieren, und es ist weder durchsuchbar noch für Aggregationen verfügbar.

Hier ist ein Beispiel dafür, wie man ein Feld mithilfe des Elasticsearch-Mappings von der Indizierung ausschließt:

In diesem Beispiel erstellen wir einen neuen Index namens „my_index“ mit einem einzigen Feld namens „field_to_exclude“. Indem wir die Eigenschaft „index“ auf „false“ setzen, weisen wir Elasticsearch an, dieses Feld nicht zu indizieren. Das Feld wird jedoch im Quelldokument weiterhin verfügbar sein.

Bewährte Verfahren zum Ausschließen von Feldern von der Indizierung

  1. Analysieren Sie Ihre Daten: Bevor Sie Felder von der Indizierung ausschließen, ist es unerlässlich, Ihre Daten zu analysieren und zu verstehen, welche Felder für die Suche und Aggregation notwendig sind. Dies wird Ihnen helfen, fundierte Entscheidungen darüber zu treffen, welche Felder ausgeschlossen werden sollen.
  2. Testen Sie Ihre Änderungen: Wenn Sie Felder von der Indizierung ausschließen, ist es unerlässlich, Ihre Änderungen zu testen, um sicherzustellen, dass Ihre Such- und Aggregationsfunktionen weiterhin wie erwartet funktionieren. Dies kann Ihnen helfen, unerwartete Probleme oder Leistungsstörungen zu vermeiden.
  3. Leistungsüberwachung: Nachdem Sie Felder von der Indizierung ausgeschlossen haben, sollten Sie die Leistung Ihres Elasticsearch-Clusters überwachen, um sicherzustellen, dass Ihre Änderungen den gewünschten Effekt erzielt haben. Dies kann Ihnen dabei helfen, eventuell erforderliche zusätzliche Optimierungen zu identifizieren.
  4. Quellfilterung nutzen: Wenn Sie ein Feld in Elasticsearch speichern müssen, es aber nicht durchsuchbar oder für Aggregationen verfügbar sein soll, sollten Sie die Quellfilterung in Betracht ziehen. Dies ermöglicht es Ihnen, das Feld im Feld _source zu speichern, es aber vom Index auszuschließen.

Fazit

Das Ausschließen von Feldern von der Indizierung in Elasticsearch kann die Leistung verbessern, die Speicherkosten senken und die Gesamtgröße Ihres Index minimieren. Durch eine sorgfältige Analyse Ihrer Daten und das Verständnis, welche Felder für die Suche und Aggregation notwendig sind, können Sie fundierte Entscheidungen darüber treffen, welche Felder ausgeschlossen werden sollten. Testen Sie Ihre Änderungen stets und überwachen Sie die Leistung Ihres Elasticsearch-Clusters, um sicherzustellen, dass Ihre Optimierungen den gewünschten Effekt erzielen.

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