[ https://issues.apache.org/jira/browse/SOLR-7689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14588166#comment-14588166 ]
Yonik Seeley commented on SOLR-7689: ------------------------------------ bq. I think the problem would be in the query itself. If they are not immutable now, under what conditions can they change? The work in LUCENE-6570 is only tangentially related. All the core Lucene queries are what I guess I would call "weakly immutable". If the user (in this case Solr) does not change the query, then the query won't be changed by other read / search operations and is safe to use concurrently across different threads, etc. So stuff like LUCENE-6570 is to make stuff like BooleanQuery truly immutable. It would only matter to Solr in the event of a bug. bq. The Lucene IndexSearcher calls rewrite on the query, do any queries change internally because of a call like this? No, they should not. > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org