Must clauses are queries that must return a document. In the first query, any document returned MUST have a location of Germany. The valueType should clause is optional and actually pointless as a filter since it does not contribute to scoring.
Can you explain what your query should be doing in terms of boolean logic? -- Ivan On Sat, Nov 1, 2014 at 4:39 PM, kazoompa <rha...@p3g.org> wrote: > Hi, > > Below is my data and the two queries that I tested, first one failing and > the latter working. I start to believe that if one wants to combine several > SHOULD and MUST filters, the outer one must always be SHOULD. Is this a > correct assumption? In our application, we have much more complex situation > with several filters within each MUST and SHOULD. And lastly, where should > place a MUST_NOT in this case? > > Many thanks. > > > > Here is my data: > > _index,_type,_id,_score,_source.id,_source.type,_source.valueType,_source.sentence,_source.location > "test","var","0","1","0","study","text","Lorem text is jumbled","spain" > "test","var","1","1","1","study","text","bla bla bla","spain" > "test","var","2","1","2","schema","decimal","ipsum","germany" > "test","var","3","1","3","study","integer","lorem","france" > > > > > > Here is my FAILING query: > > { > "query": { > "filtered": { > "query": { > "match_all": {} > }, > "filter": { > "bool": { > "must": { > "terms": { > "location": [ > "germany" > ] > } > }, > "should": { > "terms": { > "valueType": [ > "integer" > ] > } > } > } > } > } > } > } > > Here is my WORKING query returning IDs 2 and 3: > > { > "query": { > "bool": { > "should": [ > { > "terms": { > "location": [ > "germany" > ] > } > }, > { > "bool": { > "must": [ > { > "terms": { > "valueType": [ > "integer" > ] > } > } > ] > } > } > ] > } > } > } > > -- > You received this message because you are subscribed to the Google Groups > "elasticsearch" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to elasticsearch+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elasticsearch/d4597d15-8785-4e97-9c3f-8be9aacddf9b%40googlegroups.com > <https://groups.google.com/d/msgid/elasticsearch/d4597d15-8785-4e97-9c3f-8be9aacddf9b%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CALY%3DcQCgojLxpzSrYQyW1%3DfeaF_TJdkx4dqgaxq0_sijvq6dvw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.