1、Text
Dieses Feld wird verwendet, um Volltexttext zu indexieren, wie zum Beispiel den Text einer E-Mail oder die Beschreibung eines Produkts. Diese Felder werden analysiert, d. h. eine Liste einzelner Begriffe, bevor sie vom Analysator in einen Index umgewandelt werden. Der Analyseprozess ermöglicht es Elasticsearch, in jedem Volltextfeld nach einzelnen Wörtern zu suchen. Textfelder werden nicht zum Sortieren verwendet und selten für die Aggregation verwendet (obwohl der wichtige Begriff Aggregation eine bemerkenswerte Ausnahme darstellt). Wenn du strukturierte Inhalte wie E-Mail-Adressen, Hostnamen, Statuscodes oder Labels indexieren musst, solltest du wahrscheinlich Keyword-Felder verwenden. Für Codes oder Tags solltest du auch das Schlüsselwortfeld verwenden.
Manchmal ist es hilfreich, sowohl Volltext- als auch Keyword-Versionen zu haben: eine für Volltextsuchen und die andere für Aggregation und Sortierung. Dies kann durch Multifielding erreicht werden.
2、Stichwort
Felder, die zur Indexierung strukturierter Daten verwendet werden, wie E-Mail-Adressen, Hostnamen, Statuscodes, Postleitzahlen oder Labels, werden häufig verwendet, um zu filtern (alle Blogbeiträge mit Status veröffentlicht zu finden), zu sortieren und zu aggregieren. Schlüsselwortfelder können nur nach exakten Werten durchsucht werden. Wenn Sie Volltextinhalte wie E-Mails oder Produktbeschreibungen indexieren möchten, sollten Sie das Textfeld verwenden.
3. Nummerntyp
Integer、float
4、Array
In Elasticsearch gibt es keinen spezifischen Array-Typ. Standardmäßig kann jedes Feld 0 oder mehr Werte enthalten, jedoch müssen alle Werte in Arrays denselben Datentyp haben, zum Beispiel: Saitenarray: ["eins", "zwei"] Ganzzahlige Arrays: [1,2] Array von Arrays: [1, [2, 3]], entspricht [1,2,3] Objekt-Array: [ { "name": "Mary", "age": 12 }, { "name": "John", "age": 10 }]
Wenn ein Feld automatisch hinzugefügt wird, bestimmt der erste Wert des Arrays den Typ des Feldes. Alle nachfolgenden Werte müssen denselben Datentyp verwenden oder zumindest in denselben Typ konvertieren können Arrays unterstützen keine gemischten Datentypen: [10, "irgendeine Zeichenkette"] Arrays können Nullwerte enthalten, die durch das konfigurierte null_value ersetzt oder ganz übersprungen werden können. Ein leeres Array[] wird als nicht existierendes Feld behandelt – ein Feld ohne Wert.
Die Verwendung des Array-Typs in der Dokumentation erfordert keine vorherige Konfiguration, sie wird nativ unterstützt.
5、boolean
Boolesche Felder akzeptieren JSON-True- und Fals-Werte, können aber auch Zeichenketten und Zahlen akzeptieren, die als wahr oder falsch interpretiert werden
In 5.3.0 veraltet.
Alle nicht falschen, "falschen", wahren und "wahren" Werte wurden veraltet. Man kann diese pseudo-boolischen Werte ("off", "no", "0", "", 0, 0, 0.0) nicht verwenden, um nach booleschen Domänen zu suchen. Bitte benutze stattdessen wahr oder falsch.
6、Datum
Intern wird das Datum in UTC umgewandelt (sofern die Zeitzone angegeben ist) und als lange ganze Zahl gespeichert, die Millisekunden seit der Epoche repräsentiert. Das Datumsformat kann angepasst werden, aber wenn kein Format angegeben ist, wird das Standardformat verwendet:
"strict_date_optional_time|| epoch_millis"
Das heißt, es akzeptiert Datums mit optionalen Zeitstempeln, die strict_date_optional_time oder
Millisekunden seit der Epoche.
Referenzlinks:https://www.elastic.co/guide/en/ ... ml#strict-date-time
7、binär
Der Binärtyp akzeptiert binäre Werte als Base64-codierte Zeichenketten. Dieses Feld wird standardmäßig nicht gespeichert und ist nicht durchsuchbar
|