2016-11-14 2 views
5

Zu Optimierungszwecken versuche ich meine Gesamtanzahl der Felder zu reduzieren. Aber bevor ich das mache, möchte ich eine Vorstellung davon bekommen, wie viele Felder ich tatsächlich habe. Es scheint keine Informationen in dem _stats Endpunkt zu geben, und ich kann nicht recht herausfinden, wie das Migrationstool seine Feldanzahlberechnung ausführt.Holen Sie die Anzahl der Felder auf einem Index

Gibt es einen Weg, entweder mit einem Endpunkt oder auf andere Weise, um die Gesamtanzahl der Felder eines bestimmten Index zu erhalten?

Antwort

12

Um ein wenig weiter auf dem aufbauen, was die andere Antwort zur Verfügung gestellt, können Sie die Zuordnung erhalten und dann einfach die Anzahl der Male zählen das Schlüsselwort type erscheint in der Ausgabe, die die Anzahl der Felder gibt, da jedes Feld eine Art benötigt:

curl -s -XGET localhost:9200/index/_mapping?pretty | grep type | wc -l 
+0

Das ist was ich suche! Sehr geschätzt! – Fairy

+0

Super, froh, dass es geholfen hat! – Val

+1

Ist das genau, wenn Sie mehrere Typen haben, da sich die Felder überlappen könnten? Gibt es in dynamischen Vorlagen auch nicht diese Anzahl Typen? Es scheint, als ob du die Anzahl der einzigartigen Felder benötigst, da sich Lucene darum kümmert. –

1

Sie können diese Informationen mit dem _mapping Endpunkt der Index API bekommen, https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-get-mapping.html

Die get-Mapping-API ermöglicht Mapping-Definitionen für einen Index oder Index/Typ siehe abzurufen.

GET/twitter/_mapping/tweet

mit Curl: curl [elasticsearch adress]/[index]/_mapping?pretty

+0

das gibt mir einfach alle Felder ich habe und nicht wirklich eine Zählung . – Fairy

+0

Hoppla. Ich habe deine Frage falsch gelesen. Tut mir leid, ich weiß nicht, wie man direkt zählt. – baudsp

Verwandte Themen