elasticsearch mapping字段格式化
时间: 2023-07-10 21:15:22 浏览: 128
在 Elasticsearch 中,可以使用 Mapping 来定义索引中的字段格式。可以通过以下方式来定义字段格式:
1. 字段类型:定义字段的数据类型,例如 string、integer、float、date 等。
2. 分词器(analyzer):定义字段的分词器,用于将文本分成单词。
3. 索引选项(index):定义字段是否被索引,如果不索引则无法进行搜索。
4. 存储选项(store):定义字段是否被存储,如果不存储则无法获取字段的值。
5. 多字段(multi-fields):定义同一个字段的多种不同格式,用于不同的搜索需求。
下面是一个示例 Mapping 的格式:
```
PUT /my_index
{
"mappings": {
"properties": {
"title": {
"type": "text",
"analyzer": "standard",
"index": true,
"store": true,
"fields": {
"raw": {
"type": "keyword"
}
}
},
"price": {
"type": "float",
"index": true,
"store": true
},
"created_at": {
"type": "date",
"index": true,
"store": true,
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
```
在上面的示例中,定义了三个字段:title、price 和 created_at。其中,title 字段使用 standard 分词器进行分词,同时定义了一个 raw 子字段,用于存储未经过分词器处理的原始值;price 字段定义为 float 类型;created_at 字段定义为 date 类型,并指定了日期格式。同时,所有字段都被索引和存储。
阅读全文