Elasticsearch为文档中的字段支持多种不同的数据类型:
Core datatypesedit
string
text and keyword
Numeric datatypes
long, integer, short, byte, double, float, half_float, scaled_float
Date datatype
date
Boolean datatype
boolean
Binary datatype
binary
Range datatypes
integer_range, float_range, long_range, double_range, date_range
Complex datatypesedit
Object datatype
object for single JSON objects
Nested datatype
nested for arrays of JSON objects
Geo datatypesedit
Geo-point datatype
geo_point for lat/lon points
Geo-Shape datatype
geo_shape for complex shapes like polygons
Specialised datatypesedit
IP datatype
ip for IPv4 and IPv6 addresses
Completion datatype
completion to provide auto-complete suggestions
Token count datatype
token_count to count the number of tokens in a string
mapper-murmur3
murmur3 to compute hashes of values at index-time and store them in the index
mapper-annotated-text
annotated-text to index text containing special markup (typically used for identifying named entities)
Percolator type
Accepts queries from the query-dsl
join datatype
Defines parent/child relation for documents within the same index
Alias datatype
Defines an alias to an existing field.
Arraysedit
In Elasticsearch, arrays do not require a dedicated field datatype. Any field can contain zero or more values by default, however, all values in the array must be of the same datatype. See Arrays.
Multi-fieldsedit
It is often useful to index the same field in different ways for different purposes. For instance, a string field could be mapped as a text field for full-text search, and as a keyword field for sorting or aggregations. Alternatively, you could index a text field with the standard analyzer, the english analyzer, and the french analyzer.
This is the purpose of multi-fields. Most datatypes support multi-fields via the fields parameter.
官网链接:
https://www.elastic.co/guide/en/elasticsearch/reference/6.5/mapping-types.html