Bonjour,
Je ne trouve pas comment faire une requête sur plusieurs champs d'un même embeded object.
Un exemple
Voici mes données :
"hits": [
{
"_type": "company",
"_score": 5.35856,
"_source": {
"ref": "123",
"name": "First company",
"sectors": [
{
"sector": {
"ref": "logistics",
"name": "Logistics"
},
"ref": "123-logistics",
"priority": 0,
"description": "Lorem ipsum"
}
]
}
},
{
"_type": "company",
"_score": 2.5752563,
"_source": {
"ref": "456",
"name": "Second company",
"sectors": [
{
"sector": {
"ref": "logistics",
"name": "Logistics"
},
"ref": "456-logistics",
"priority": 0,
"description": "Lorem ipsum"
},
{
"sector": {
"ref": "associated_services",
"name": "Associated services"
},
"ref": "456-associated_services",
"priority": 1,
"description": "Lorem ipsum"
}
]
}
},
{
"_type": "company",
"_score": 2.413827,
"_source": {
"ref": "789",
"name": "Third company",
"sectors": [
{
"sector": {
"ref": "engineering",
"name": "Engineering"
},
"ref": "789-engineering",
"priority": 0,
"description": "Lorem ipsum"
},
{
"sector": {
"ref": "construction",
"name": "Construction"
},
"ref": "789-construction",
"priority": 1,
"description": "Lorem ipsum"
},
{
"sector": {
"ref": "logistics",
"name": "Logistics"
},
"ref": "789-logistics",
"priority": 2,
"description": "Lorem ipsum"
}
]
}
}
]
Voici ce que je souhaite remonter : toutes les compagnies ayant comme référence secteur "logistics" (champ "sectors.sector.ref") et la priorité de ce secteur à 2 (champ "sectors.priority").
En faisant une requête bool "classique" , ES remonte (à juste titre), les documents qui ont au moins un secteur "logistics" et au moins un secteur avec la priorité 2. Mais je voudrais faire une liaison entre ces deux champs.
(J'espère être clair)
Merci d'avance
François