Elasticsearch支持以下常见的数据类型:
文本型数据 (text):表示长文本数据,可以分词和索引,一般用于全文搜索、匹配和聚合等操作。在mapping中,可以使用 "type": "text" 来定义。
关键字型数据 (keyword):表示短文本数据,不会分词,一般用于精确匹配和聚合等操作。在mapping中,可以使用 "type": "keyword" 来定义。
数值型数据 (numeric):包括整数、浮点数和日期等类型,可以进行范围和聚合操作。在mapping中,可以使用 "type": "integer"、"double"、"date" 等来定义。
日期型数据 (date):表示时间戳或时间字符串,可以进行范围和聚合操作,同时支持多种格式。在mapping中,可以使用 "type": "date" 来定义。
地理位置型数据 (geo):表示经纬度等地理信息,可以进行空间搜索和聚合操作。在mapping中,可以使用 "type": "geo_point" 或 "type": "geo_shape" 来定义。
除了上述常见数据类型之外,Elasticsearch还支持二进制型数据 (binary)、ip地址型数据 (ip)、复杂嵌套型数据 (nested) 等其他类型。其中,复杂嵌套型数据可以通过对象或数组的形式来存储和查询。