# Difference between Filter and Query

**URL:** <https://discuss.elastic.co/t/difference-between-filter-and-query/13472>\
**Category:** Elasticsearch\
**Created:** [September 5, 2013, 10:18am UTC](https://discuss.elastic.co/t/difference-between-filter-and-query/13472 "2013-09-05T10:18:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![OhNo](https://avatars.discourse-cdn.com/v4/letter/o/34f0e0/32.png) [@OhNo](https://discuss.elastic.co/u/OhNo)\
**Post date:** [September 5, 2013, 10:18am UTC](https://discuss.elastic.co/t/difference-between-filter-and-query/13472/1 "2013-09-05T10:18:28Z")

</div>

Hey all,

i have a object e.g. person which have a Date field "birthday". Now i want do a query (via java api) which returns me all persons who have birthday at 01.01.1960. I always get

"SearchParseException[[persons][4]: from[-1],size[1000]: Parse Failure [Failed to parse source [{"size":1000,"query":{"bool":{"should":{"field":{"birthday":"2012-03-22T23:00:00.000Z"}}}}}]]]; nested: QueryParsingException[[catalogue] Failed to parse query [2012-03-22T23:00:00.000Z]];"

So i googled and found that maybe i should use a FILTER instead of a query (or with a matchAll query).

But acutally i didn´t find an explanation when to use a filter and when a query condition.

Finally i just want get all persons who have birthday at 01.01.1960, by the way NO range condition.

Thanks for any help!  
OhNo

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 2:18am UTC](https://discuss.elastic.co/t/difference-between-filter-and-query/13472/2 "2017-07-06T02:18:04Z")

</div>


