[ 
https://issues.apache.org/jira/browse/LUCENE-10060?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17405269#comment-17405269
 ] 

Adrien Grand commented on LUCENE-10060:
---------------------------------------

bq.  I assume what's going on here is that the caching ignores deleted docs and 
expects they'll be handled later

This is correct. The query cache caches based on the so-called "segment core" 
(see SegmentReader#core), ie. everything but live docs and doc-value updates. 
This allows cache entries to be reused across reopens as long as a segment 
hasn't been merged away. But this requires cache entries to be computed on the 
entire segment and follow-up searches to apply deletes on top of cache entries.

DrillSidewaysQuery is a bit abusing the API, it shouldn't be a Query. It would 
be nice to refactor it to something else than a Query at some point.

> Ensure DrillSidewaysQuery instances don't get cached
> ----------------------------------------------------
>
>                 Key: LUCENE-10060
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10060
>             Project: Lucene - Core
>          Issue Type: Bug
>          Components: modules/facet
>            Reporter: Greg Miller
>            Priority: Minor
>             Fix For: main (9.0), 8.10
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> We need to make sure DSQ instances don't end up in the query cache. -It's 
> important that the {{DrillSidewaysScorer}} (bulk scorer implementation) 
> actually runs during query evaluation in order to populate the "sideways" 
> {{FacetsCollector}} instances with "near miss" docs. If it gets cached, this 
> won't happen.-
> There may also be an implication around {{acceptDocs}} getting honored as 
> well. [~zacharymorn] may be able to provide more details.
> UPDATE: The original issue I detailed above isn't actually an issue since 
> {{DrillDownQuery}} doesn't implement {{equals}}, so the cache always misses 
> and it always executes the {{BulkScorer}} ( {{DrillSidewaysScorer}} ). 
> Tricky! There is a separate issue found by Zach (as mentioned above) related 
> to "acceptDocs" though. See below conversation and link off to the separate 
> [PR 
> conversation|https://github.com/apache/lucene/pull/240#discussion_r692154001] 
> for more details.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to