"bool"
filter is used to combine other filters. “bool” filter is composed of three
sections.
{
"bool" : {
"must" : [],
"should" : [],
"must_not" : [],
}
}
“must”
clause is equivalent of &&(Logical AND) operator in java.
“should”
clause is equivalent of ||(Logical OR) operator in java
“must_not” clause
is equivalent of !(Logical NOT) operator in java
“must”, “should”, “must_not” sections are
optional, you can use any one/two/three sections. Each section
“must”, “should”, “must_not” can contain more than one filter.
GET /organization/employee/_search { "query":{ "filtered": { "filter": { "bool": { "must" : { "term" : {"hobbies" : "movies"} }, "must_not": [ {"term" : {"id" : "765"}}, {"term" : {"address.state" : "Karnataka"}} ] } } } } }
Above query
return following result.
{ "took": 4, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 2, "max_score": 1, "hits": [ { "_index": "organization", "_type": "employee", "_id": "1", "_score": 1, "_source": { "id": 358, "firstName": "Hari Krishna", "lastName": "Gurram", "designation": "Senior Software Engineer", "mailId": "abcdefabcdef@abcdef.com", "hobbies": [ "watching movies", "Writing blogs", "Reading philosophy" ], "address": { "street": "Panchayat Office", "city": "Ongole", "state": "Andhra Pradesh", "country": "India", "PIN": "523169" } } }, { "_index": "organization", "_type": "employee", "_id": "2", "_score": 1, "_source": { "id": 12345, "firstName": "Joel Babu", "lastName": "Chelli", "designation": "Software Engineer", "mailId": "wxyzwxyz@wxyz.com", "hobbies": [ "Playing games", "shopping", "watch movies" ], "address": { "street": "Marthalli", "city": "Bangalore", "state": "Karnataka", "country": "India", "PIN": "560047" } } } ] } }
No comments:
Post a Comment