bool query (must et should)

54 views
Skip to first unread message

utilisateur elasticsearch

unread,
Mar 26, 2015, 3:03:45 PM3/26/15
to elastics...@googlegroups.com
Bonjour le groupe

je souhaite réaliser une rquete bool quey avec plusieurs conditions And et Or
la condition est suivante 

(A et B et C) Ou (D et E ) Ou (Fet G)


comment le faire en utilisant le should et must svp 

ce que j'ai fait est dite moi si c'est correcte 

ArrayList <String > l1 = new Arraylist<String>
l1.add(A);
l1.add(B);
l1.add(C);

ArrayList <String > l2 = new Arraylist<String>
l2.add(D);
l2.add(E);

ArrayList <String > l3 = new Arraylist<String>
l3.add(F);
l3.add(G);


ArrayList <ArrayList <String >> ListeGlobale = new ArrayList <ArrayList <String > >();

for (ArrayList<String> listsecondaire: ListeGolable){
for (String terme: listeSecondaire){
qb = QueryBuilders.queryString(terme);
qbSecondaire.must(qb);
}
qbGlobale.should(qbSecondaire);
}

en quelque sorte il va faire 

QueryBuilder qbSecondaire1 = boolQuery()
QueryBuilder qb = boolQuery()

QueryBuilder qb = boolQuery()
QueryBuilder qb = boolQuery()
QueryBuilder qb = boolQuery()
                                         .must(QueryBuilders.queryString(A));
                                         .must(QueryBuilders.queryString(B));
                                         .must(QueryBuilders.queryString(C));

QueryBuilder qbSecondaire2 = boolQuery()
QueryBuilder qb = boolQuery()

QueryBuilder qb = boolQuery()
QueryBuilder qb = boolQuery()
QueryBuilder qb = boolQuery()
                                         .must(QueryBuilders.queryString(D));
                                         .must(QueryBuilders.queryString(E));
                                        

QueryBuilder qbSecondaire3 = boolQuery()
QueryBuilder qb = boolQuery()

QueryBuilder qb = boolQuery()
QueryBuilder qb = boolQuery()
QueryBuilder qb = boolQuery()
                                         .must(QueryBuilders.queryString(F));
                                         .must(QueryBuilders.queryString(G));
                              

QueryBuilder qbGlobale = boolQuery()
                                       .should (qbSecondaire1)
                                       .should (qbSecondaire2)
                                       .should (qbSecondaire3)




et il correcte  ?



Merci 

Jérôme Mainaud

unread,
Apr 3, 2015, 6:20:54 AM4/3/15
to elastics...@googlegroups.com
Bonjour,

A priori, ta requête me semble correcte.

A+

--
Jérôme Mainaud
jer...@mainaud.com

--
--
---
Vous pouvez également poster et consulter les réponses en anglais sur le groupe Elasticsearch https://groups.google.com/group/elasticsearch
 
Si vous avez également posté votre question sur la mailing list elasti...@googlegroups.com, merci d'indiquer ici le lien vers cette discussion pour faciliter le suivi.
 
Twitter : @ElasticsearchFR https://twitter.com/#!/ElasticsearchFR
Site web (English) : http://www.elasticsearch.org/
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Elasticsearch FR".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse elasticsearch-...@googlegroups.com.
Pour envoyer un message à ce groupe, envoyez un e-mail à l'adresse elastics...@googlegroups.com.
Visitez ce groupe à l'adresse http://groups.google.com/group/elasticsearch-fr.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/elasticsearch-fr/92049185-157a-4a63-accf-89e8530af3ec%40googlegroups.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages