Emad Nashed created SOLR-7689:
---------------------------------
Summary: QueryResultKey saved in cache uses the query after
rewrite which causes cache misses
Key: SOLR-7689
URL: https://issues.apache.org/jira/browse/SOLR-7689
Project: Solr
Issue Type: Bug
Components: search, SearchComponents - other
Reporter: Emad Nashed
In SolrIndexSearcher class, the key used to lookup results in queryResultCache
uses the original query.
However later in createNormalizedWeight the query gets re-written, and then
saved in the queryResultCache after it's re-written.
This causes cache misses for the same query, and un-necessary inserts in the
queryResultCache.
I can reproduce this using a re-ranking query that is using a main query as a
dismax query, the dismax Query could be re-written into a TermQuery, which
makes sense, but will cause cache misses.
I tested a quick solution by just using q.clone() when it comes to build
QueryResultKey, and it works fine, but not sure if that is the best way of
doing it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]