“missing”
filter return documents, where there is no value for the field.
For example,
I had some data in my student type.
GET
/college/student/_search
Above query
returns following data.
{ "took": 1, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 4, "max_score": 1, "hits": [ { "_index": "college", "_type": "student", "_id": "4", "_score": 1, "_source": { "id": 75, "firstName": "Rama Krishna", "lastName": "Gurram", "hobbies": [ "climbing hills", null ] } }, { "_index": "college", "_type": "student", "_id": "1", "_score": 1, "_source": { "id": 358, "firstName": "Hari Krishna", "lastName": "Gurram", "hobbies": [ "visiting places", "watching movies", "chat with friends" ] } }, { "_index": "college", "_type": "student", "_id": "2", "_score": 1, "_source": { "id": 12345, "firstName": "Joel Babu", "lastName": "Chelli", "hobbies": [ null ] } }, { "_index": "college", "_type": "student", "_id": "3", "_score": 1, "_source": { "id": 765, "firstName": "PTR", "lastName": "sailaja" } } ] } }
Get all
documents, where hobbies is not exist.
GET /college/student/_search { "query":{ "filtered": { "filter": { "missing": { "field": "hobbies" } } } } }
Above query
returns following response.
{ "took": 3, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 2, "max_score": 1, "hits": [ { "_index": "college", "_type": "student", "_id": "2", "_score": 1, "_source": { "id": 12345, "firstName": "Joel Babu", "lastName": "Chelli", "hobbies": [ null ] } }, { "_index": "college", "_type": "student", "_id": "3", "_score": 1, "_source": { "id": 765, "firstName": "PTR", "lastName": "sailaja" } } ] } }
No comments:
Post a Comment