需要特定 ES 查询的帮助。我在弹性搜索索引中有对象。其中之一的示例(参与者):
{
"_id": null,
"ObjectID": 6008,
"EventID": null,
"IndexName": "crmws",
"version_id": 66244,
"ObjectData": {
"PARTICIPANTTYPE": "2",
"STATE": "ACTIVE",
"EXTERNALID": "01010111",
"CREATORID": 1006,
"partAttributeList":
[
{
"SYSNAME": "A",
"VALUE": "V1"
},
{
"SYSNAME": "B",
"VALUE": "V2"
},
{
"SYSNAME": "C",
"VALUE": "V2"
}
],
....
我需要通过 partAttributeList 实体找到唯一的实体。例如,在 partAttributeList 的同一实体中具有 SYSNAME=A、VALUE=V1 的整个 Participant 实体。
如果我使用 usul 匹配:
{"match": {"ObjectData.partAttributeList.SYSNAME": "A"}},
{"match": {"ObjectData.partAttributeList.VALUE": "V1"}}
当然,我会找到比我真正需要的更多的东西。可以找到的冗余对象示例:
...
{
"SYSNAME": "A",
"VALUE": "X"
},
{
"SYSNAME": "B",
"VALUE": "V1"
}..