[ https://issues.apache.org/jira/browse/LUCENE-10120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17440879#comment-17440879 ]
Lu Xugang commented on LUCENE-10120: ------------------------------------ Hi, [~jpountz] [~gsmiller], The Initial purpose doing this optimization was when our program want to use PointRangeQuery only to collect numbers of docs, then TotalHitCountCollector was used(cause this Collector's score mode is ScoreMode.COMPLETE_NO_SCORES, so QueryCahce can be actived). With the rule of UsageTrackingQueryCachingPolicy#shouldCache(Query query), same PointRangeQuery will be cached after UsageTrackingQueryCachingPolicy#frequency(Query query) equals 2, because PointRangeQuery belongs to a costly query. Then we found if we set a large range condition in PointRangeQuery, all docs in a segment will be matched , and a huge FixBitSet which all bits were used will be cached. > Lazy initialize FixedBitSet in LRUQueryCache > -------------------------------------------- > > Key: LUCENE-10120 > URL: https://issues.apache.org/jira/browse/LUCENE-10120 > Project: Lucene - Core > Issue Type: Improvement > Components: core/search > Affects Versions: main (10.0) > Reporter: Lu Xugang > Priority: Major > Attachments: 1.png, LUCENE-10120.patch > > Time Spent: 4h 20m > Remaining Estimate: 0h > > Basing on the implement of collecting docIds in DocsWithFieldSet, may be we > could do similar way to cache docIdSet in > *LRUQueryCache#cacheIntoBitSet(BulkScorer scorer, int maxDoc)* when docIdSet > is density. > In this way , we do not always init a huge FixedBitSet which sometime is not > necessary when maxDoc is large > > > -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org