ElasticSearch定义Array类型字段
时间: 2024-05-05 19:02:27 浏览: 12
在Elasticsearch中,可以使用"array"类型来定义一个字段,使其能够存储多个值。这种类型的字段可以存储一个或多个值,并且可以使用不同的分隔符进行分割。
以下是一个示例,演示如何在Elasticsearch中定义一个包含"array"类型字段的映射:
```
PUT my_index
{
"mappings": {
"properties": {
"tags": {
"type": "text",
"analyzer": "standard",
"fields": {
"keyword": {
"type": "keyword"
}
}
}
}
}
}
```
在上面的示例中,我们定义了一个名为"tags"的字段,并将其类型设置为"text"。此外,我们还定义了一个子字段"keyword",它的类型为"keyword"。这样,我们就可以对"tags"字段进行全文搜索,并对"keyword"字段进行精确匹配。
要向"tags"字段添加多个值,可以使用逗号分隔符将它们分开,如下所示:
```
PUT my_index/_doc/1
{
"tags": ["apple", "orange", "banana"]
}
```
在上面的示例中,我们向"tags"字段添加了三个值。要查询包含特定"tags"值的文档,可以使用以下查询:
```
GET my_index/_search
{
"query": {
"match": {
"tags": "apple"
}
}
}
```
这将返回包含"apple"标签的所有文档。