es70 如何创建子文档
在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/hwRc 著作权归作者所有。请勿转载和采集!