无论字段的位置如何,都在嵌套文档中搜索字段
Searching nested documents for a field regardless of the positioning of the field
像这样考虑 Elasticsearch 中的文档:
{
"id": 1,
"Comment": "Comment text",
"Reply": [{
"id": 2,
"Comment": "Nested comment text",
}, {
"id": 3,
"Comment": "Another nested comment text",
}]
}
我想搜索 id == 2
,但不知道它是在文档的第一层还是第二层。这可能吗?还请记住,嵌套级别可以是任何东西(在开发时未知)。
如果可能的话,在不知道文档的第二层中有 id
的情况下,通过搜索 id == 2
对 return 此文档的查询是什么?
试试这个:
{
"query": {
"query_string": {
"fields": ["*.id","id"],
"query": "2"
}
}
}
像这样考虑 Elasticsearch 中的文档:
{
"id": 1,
"Comment": "Comment text",
"Reply": [{
"id": 2,
"Comment": "Nested comment text",
}, {
"id": 3,
"Comment": "Another nested comment text",
}]
}
我想搜索 id == 2
,但不知道它是在文档的第一层还是第二层。这可能吗?还请记住,嵌套级别可以是任何东西(在开发时未知)。
如果可能的话,在不知道文档的第二层中有 id
的情况下,通过搜索 id == 2
对 return 此文档的查询是什么?
试试这个:
{
"query": {
"query_string": {
"fields": ["*.id","id"],
"query": "2"
}
}
}