Elasticsearch 7.0 创建子文档 - 嵌套字段指南
在 Elasticsearch 7.0 中,可以使用嵌套字段来创建子文档。
- 定义索引映射
首先,需要定义一个包含嵌套字段的索引映射,例如:
PUT my_index
{
"mappings": {
"properties": {
"title": {
"type": "text"
},
"comments": {
"type": "nested",
"properties": {
"user": {
"type": "text"
},
"comment": {
"type": "text"
}
}
}
}
}
}
上述映射定义了一个包含嵌套字段'comments'的索引,其中'comments'字段包含'user'和'comment'子字段。
- 创建子文档
接下来,可以使用父文档的ID来创建子文档。例如:
PUT my_index/_doc/1
{
"title": "My blog post",
"comments": [
{
"user": "John",
"comment": "Great post!"
},
{
"user": "Jane",
"comment": "I disagree with your argument."
}
]
}
上述请求使用ID为1的父文档创建了两个子文档,每个子文档都包含'user'和'comment'字段。
- 检索子文档
可以使用嵌套查询来检索父文档和子文档。例如:
GET my_index/_search
{
"query": {
"nested": {
"path": "comments",
"query": {
"match": {
"comments.comment": "great"
}
}
}
}
}
上述查询将返回包含'comments.comment'字段中包含'great'关键字的所有父文档和子文档。
原文地址: https://www.cveoy.top/t/topic/oZEQ 著作权归作者所有。请勿转载和采集!