1、text
Detta fält används för att indexera fulltexttext, såsom brödtexten i ett e-postmeddelande eller beskrivningen av en produkt. Dessa fält analyseras, det vill säga en lista med enskilda termer innan de omvandlas till ett index av analysatorn. Analysprocessen gör det möjligt för Elasticsearch att söka efter enskilda ord i varje fulltextfält. Textfält används inte för sortering och används sällan för aggregering (även om det viktiga ordet aggregering är ett anmärkningsvärt undantag). Om du behöver indexera strukturerat innehåll som e-postadresser, värdnamn, statuskoder eller etiketter bör du nog använda nyckelordsfält. För koder eller taggar bör du också använda sökordsfältet.
Ibland är det hjälpsamt att ha både fulltext- och nyckelordsversioner: en för fulltextsökningar och den andra för aggregering och sortering. Detta kan uppnås genom multifielding.
2、nyckelord
Fält som används för att indexera strukturerad data, såsom e-postadresser, värdnamn, statuskoder, postnummer eller etiketter, används ofta för att filtrera (hitta alla blogginlägg med status som publicerad), sortera och aggregera. Nyckelordsfält kan endast sökas efter exakta värden. Om du behöver indexera fulltextinnehåll, som e-post eller produktbeskrivningar, kan du vilja använda textfältet.
3. Nummertyp
heltals、float
4、array
I Elasticsearch finns ingen specifik arraytyp. Som standard kan vilket fält som helst innehålla 0 eller fler värden, men alla värden i arrayer måste ha samma datatyp, till exempel: Strängarray: ["ett", "två"] Heltalsarrayer: [1,2] Array av arrayer: [1, [2, 3]], motsvarande [1,2,3] Objektarray: [ { "name": "Mary", "age": 12 }, { "name": "John", "age": 10 }]
När ett fält automatiskt läggs till bestämmer det första värdet i matrisen typen av fält. Alla efterföljande värden måste använda samma datatyp, eller åtminstone kunna konvertera dem till samma typ som det Arrayer stöder inte blandade datatyper: [10, "någon sträng"] Arrayer kan innehålla nullvärden som kan ersättas med den konfigurerade null_value eller hoppas över helt. En tom array[] behandlas som ett icke-existerande fält – ett fält utan värde.
Att använda arraytypen i dokumentationen kräver ingen konfiguration i förväg, det stöds nativt.
5、boolean
Booleska fält accepterar JSON-sanna och falska värden, men kan också acceptera strängar och tal som tolkas som sanna eller falska
Föråldrad i 5.3.0.
Alla icke-falska, "falska", sanna och "sanna" värden har föråldrats. Du kan inte använda dessa pseudo-booleska värden ("av", "nej", "0", "", 0, 0, 0,0) för att söka efter boolesk domäner. Använd istället true or uso.
6、datum
Internt konverteras datumet till UTC (om tidszonen anges) och lagras som ett långt heltal som representerar millisekunder sedan epoken. Datumformatet kan anpassas, men om inget format anges används standardformatet:
"strict_date_optional_time|| epoch_millis"
Det betyder att den accepterar datum med valfria tidsstämplar som matchar strict_date_optional_time eller
millisekunder sedan-epoken.
Referenslänkar:https://www.elastic.co/guide/en/ ... ml#strict-date-time
7、binär
Binära typen accepterar binära värden som Base64-kodade strängar. Detta fält lagras inte som standard och är inte sökbart
|