Elasticsearch 是一个分布式搜索和分析引擎,常用于构建实时搜索、日志分析、数据可视化等应用。在 Elasticsearch 中,数据类型用于定义文档中字段的数据结构。
下面是 Elasticsearch 支持的一些常见数据类型,以及每种数据类型的示例。
用于存储长文本或短文本。通常用于全文搜索。
示例:
"description": "Elasticsearch is a distributed search engine."
用于存储结构化数据,如标签、关键字等。不进行分词,整体匹配。
示例:
"tags": ["search", "distributed", "engine"]
用于存储数值,包括整数和浮点数。
Integer(整数):
json "age": 30
Long(长整数):
json "population": 1000000
Float(单精度浮点数):
json "temperature": 25.5
Double(双精度浮点数):
json "pi": 3.141592653589793
- Date(日期):用于存储日期和时间。
示例:
"timestamp": "2023-08-14T10:00:00Z"
用于存储布尔值。
示例:
"is_active": true
用于存储一组相同类型的值。
示例:
"colors": ["red", "green", "blue"]
用于存储嵌套结构的数据。
示例:
"user": {
"name": "Alice",
"age": 25,
"address": "123 Main St"
}
类似于对象,但支持独立的查询和索引。
示例:
"comments": [
{ "author": "Bob", "text": "Great post!" },
{ "author": "Carol", "text": "I disagree." }
]
用于存储地理位置信息。
Geo Point(地理点):json "location": { "lat": 40.7128, "lon": -74.0060 }
Geo Shape(地理形状):用于存储复杂的地理形状数据。
Binary(二进制):用于存储二进制数据。
示例:
"profile_picture": "SGVsbG8gV29ybGQh" // Base64 编码的图片数据
这些数据类型可以根据实际需求进行组合和嵌套,以构建灵活且复杂的数据结构。在创建索引时,根据字段的性质和用途,选择适当的数据类型非常重要。