Besoin d'aide pour une requête ES spécifique. J'ai des objets dans l'index Elastic Search. Exemple d'un d'entre eux (Participant):Recherche élastique. Recherche par valeur de sous-collection
{
"_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"
}
],
....
Je dois trouver la seule entité (s) par des entités partAttributeList. Par exemple Entité Participante entière avec SYSNAME = A, VALUE = V1 sur la même entité de partAttributeList.
Si j'utilise des correspondances Usul:
{"match": {"ObjectData.partAttributeList.SYSNAME": "A"}},
{"match": {"ObjectData.partAttributeList.VALUE": "V1"}}
Bien sûr, je vais trouver plus d'objets que j'ai vraiment besoin. Exemple d'objet redondant qui peut être trouvé:
...
{
"SYSNAME": "A",
"VALUE": "X"
},
{
"SYSNAME": "B",
"VALUE": "V1"
}..
Vous avez besoin de 'partAttributeList' pour être un champ' imbriqué'. Je suppose de votre message que ce n'est pas. –