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.

Reply via email to