Elasticsearch 是一个开源的分布式搜索和分析引擎,它支持多种不同的字段类型,用于在索引中存储和搜索不同类型的数据。
以下是一些常见的 Elasticsearch 字段类型以及它们的示例代码:
用于存储文本数据,支持全文搜索和分词。
{
"mappings": {
"properties": {
"content": {
"type": "text"
}
}
}
}
用于存储关键字,不进行分词,通常用于精确匹配和聚合。
{
"mappings": {
"properties": {
"tag": {
"type": "keyword"
}
}
}
}
存储数字类型的数据,可以是整数或浮点数。
{
"mappings": {
"properties": {
"price": {
"type": "float"
}
}
}
}
用于存储日期和时间。
{
"mappings": {
"properties": {
"timestamp": {
"type": "date"
}
}
}
}
用于存储布尔值(true 或 false)。
{
"mappings": {
"properties": {
"is_published": {
"type": "boolean"
}
}
}
}
用于存储数组或多个值。
{
"mappings": {
"properties": {
"tags": {
"type": "keyword"
}
}
}
}
用于存储嵌套的对象。
{
"mappings": {
"properties": {
"author": {
"type": "object",
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "integer"
}
}
}
}
}
}
这些只是 Elasticsearch 支持的一些常见字段类型。在实际使用中,您可以根据需要选择合适的字段类型来存储和索引您的数据。在创建索引时,通过映射(mapping)来指定每个字段的类型,以便 Elasticsearch 正确地处理和搜索数据。