i've read this question , colleague of mine made me doubt:
in filtered query, when filter applied ? before or after executing query ? when result cached ?
if filter applied beforehand, wouldn't a thing duplicate query part in filters ? if filter applied afterward, i'm having trouble understanding cached.
luckily, es provides 2 types of filters work with:
{ "query" : { "field" : { "title" : "catch-22" } }, "filter" : { "term" : { "year" : 1961 } } } { "query": { "filtered" : { "query" : { "field" : { "title" : "catch-22" } }, "filter" : { "term" : { "year" : 1961 } } } } } in first case, filters applied documents found query. in second case, documents filtered before query runs. yields better performance.
quoted from: http://www.packtpub.com/elasticsearch-server-for-fast-scalable-flexible-search-solution/book
about cache, i'm not sure cache mechanism of filters. guessing be: first case, since filter against set of results returned query, cache kind of specific return set. second case, filter applied first, cache stored indices checked against, thus, cache more reusable because not rely on content of query, @ larger memory cost , query time first time(before cache generated).
Comments
Post a Comment