在这里,您可以看到ES中文档的一小部分。在详细信息数组中,可能有许多具有不同ID和值的不同对象。我必须创建一个查询,以查找不包含ID为“SR_Middle_Name”或“SR_Middle_Name”且值为“Aron”的对象的所有文档:
"details":[
{
"id":"SR_Name",
"value":"Elvis"
},
{
"id":"SR_Middle_Name",
"value":"Aron"
}
]
3条答案
按热度按时间o8x7eapl1#
您尝试查询的对象是嵌套对象。首先确保为嵌套对象提供了正确的索引Map。然后,您可以对该对象进行嵌套查询。例如-
lb3vh1jj2#
为了能够执行
find documents
-with out nested document
-with specific values
,您应该使用组合must_not(nested(terms(value)))
示例:要能够添加
或具有ID“SR_Middle_Name”和值“Aron”
将第一个查询 Package 在should子句中并添加其他should子句
最后一个示例:
i2loujxw3#
也许这对你有帮助:
第1种情况:
where id = "SR_Middle_Name" and value = "Aron"
第二种情况:
where id != "SR_Middle_Name" and value = "Aron"