1、tekst
Dit veld wordt gebruikt om volledige tekst te indexeren, zoals de inhoud van een e-mail of de beschrijving van een product. Deze velden worden geanalyseerd, dat wil zeggen een lijst van individuele termen, voordat ze door de analyzer worden omgezet in een index. Het analyseproces stelt Elasticsearch in staat om in elk full-text veld naar individuele woorden te zoeken. Tekstvelden worden niet gebruikt voor sorteren en worden zelden gebruikt voor aggregatie (hoewel de belangrijke term aggregatie een opmerkelijke uitzondering is). Als je gestructureerde content zoals e-mailadressen, hostnamen, statuscodes of labels moet indexeren, kun je waarschijnlijk het beste zoekwoordvelden gebruiken. Voor codes of tags moet je ook het trefwoordveld gebruiken.
Soms is het handig om zowel full-text als trefwoordversies te hebben: één voor full-text zoekopdrachten en de andere voor aggregatie en sortering. Dit kan worden bereikt door multifielding.
2、trefwoord
Velden die worden gebruikt om gestructureerde data te indexeren, zoals e-mailadressen, hostnamen, statuscodes, postcodes of labels, worden vaak gebruikt om te filteren (alle blogposts met de status gepubliceerd te vinden), te sorteren en te aggregeren. Trefwoordvelden kunnen alleen worden doorzocht op exacte waarden. Als je volledige tekst moet indexeren, zoals e-mail of productbeschrijvingen, kun je het tekstveld gebruiken.
3. Nummertype
integer、float
4、Array
In Elasticsearch is er geen specifiek arraytype. Standaard kan elk veld 0 of meer waarden bevatten, maar alle waarden in arrays moeten hetzelfde datatype hebben, bijvoorbeeld: Snaararray: ["één", "twee"] Integer-arrays: [1,2] Array of Arrays: [1, [2, 3]], equivalent aan [1,2,3] Objectarray: [ { "naam": "Mary", "leeftijd": 12 }, { "naam": "John", "leeftijd": 10 }]
Wanneer een veld automatisch wordt toegevoegd, bepaalt de eerste waarde van de array het type veld. Alle volgende waarden moeten hetzelfde datatype gebruiken, of in ieder geval in staat zijn ze om te zetten naar hetzelfde type als deze Arrays ondersteunen geen gemengde datatypes: [10, "some string"] Arrays kunnen nullwaarden bevatten die vervangen kunnen worden door de geconfigureerde null_value of helemaal overgeslagen kunnen worden. Een lege array[] wordt behandeld als een niet-bestaand veld - een veld zonder waarde.
Het gebruik van het arraytype in de documentatie vereist geen voorafgaande configuratie, het wordt native ondersteund.
5、boolean
Booleaanse velden accepteren JSON waar en onwaar-waarden, maar kunnen ook strings en getallen accepteren die als waar of onwaar worden geïnterpreteerd
Afgeschaft in 5.3.0.
Alle niet-onwaar, "onwaar", waar- en "ware" waarden zijn verouderd. Je kunt deze pseudo-booleaanse waarden ("off", "no", "0", "", 0, 0, 0.0) niet gebruiken om booleaanse domeinen te zoeken. Gebruik alsjeblieft waar of onwaar.
6、date
Intern wordt de datum omgezet naar UTC (indien de tijdzone wordt opgegeven) en opgeslagen als een lang geheel getal dat milliseconden sinds het tijdperk vertegenwoordigt. Het datumformaat kan worden aangepast, maar als er geen formaat is opgegeven, wordt het standaardformaat gebruikt:
"strict_date_optional_time|| epoch_millis"
Dat betekent dat hij data accepteert met optionele tijdstempels die overeenkomen met strict_date_optional_time of
milliseconden sinds het tijdperk.
Referentielinks:https://www.elastic.co/guide/en/ ... ml#strict-date-time
7、binair
Het binaire type accepteert binaire waarden als Base64-gecodeerde strings. Dit veld wordt standaard niet opgeslagen en is niet doorzoekbaar
|