Bonjour à tous,
J'ai un soucis sur Elasticsearch qui m'empêche de matcher des données sur une structure.
J'ai une liste de personnes, de ce format :
J'aimerais faire une requete permettant de faire remonter les personnes du 91 et mettre en avant ceux qui ont uin compte google.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Array ( [id] => 125018 [nom] => 'GALLA' [prenom] => 'patrick' [departement] => '91' [comptes] => Array ( [0] => Array ( [id] => '83557' [type] => 'facebook' [login] => 'patrick' ) [1] => Array ( [id] => '83558' [type] => 'google' [login] => 'patrick' ) [2] => Array ( [id] => '83559' [type] => 'twitter' [login] => 'patrick' ) ... ) ... )
Pour l'instant, le seul type de requette qui marche est de type :
Or, la variable "comptes.1.type" n'est pas adaptéeà ma demande "met moi en avant ceux qui ont un compte google parmi leur compte".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 { "query": { "bool": { "must": [ { "term": { "departement": "91" } } ], "should" : [ { "match" : { "comptes.1.type" : "google" } } ], "minimum_should_match" : 1, "boost" : 1.0 } } }
Avez vous une solution ?
Merci,
Camille
Partager