[[query-dsl-not-filter]] === Not Filter A filter that filters out matched documents using a query. Can be placed within queries that accept a filter. [source,js] -------------------------------------------------- { "filtered" : { "query" : { "term" : { "name.first" : "shay" } }, "filter" : { "not" : { "range" : { "postDate" : { "from" : "2010-03-01", "to" : "2010-04-01" } } } } } } -------------------------------------------------- Or, in a longer form with a `filter` element: [source,js] -------------------------------------------------- { "filtered" : { "query" : { "term" : { "name.first" : "shay" } }, "filter" : { "not" : { "filter" : { "range" : { "postDate" : { "from" : "2010-03-01", "to" : "2010-04-01" } } } } } } } -------------------------------------------------- [float] ==== Caching The result of the filter is not cached by default. The `_cache` can be set to `true` in order to cache it (though usually not needed). Here is an example: [source,js] -------------------------------------------------- { "filtered" : { "query" : { "term" : { "name.first" : "shay" } }, "filter" : { "not" : { "filter" : { "range" : { "postDate" : { "from" : "2010-03-01", "to" : "2010-04-01" } } }, "_cache" : true } } } } --------------------------------------------------