[ https://issues.apache.org/jira/browse/LUCENE-5938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14129950#comment-14129950 ]
Eks Dev commented on LUCENE-5938: --------------------------------- Just a crazy idea. Do you need to store words with all bits set? Did not look into implementation, but from your description it sounds like it might be as well possible to not store them without adding to many if-s at execution path. This way, it wold work better also for dense BS (like "implicit inverting" trick), and for all intermidate cases where you have some partial sorting (some sort of run length encoding)? > New DocIdSet implementation with random write access > ---------------------------------------------------- > > Key: LUCENE-5938 > URL: https://issues.apache.org/jira/browse/LUCENE-5938 > Project: Lucene - Core > Issue Type: Improvement > Reporter: Adrien Grand > Assignee: Adrien Grand > Attachments: LUCENE-5938.patch > > > We have a great cost API that is supposed to help make decisions about how to > best execute queries. However, due to the fact that several of our filter > implementations (eg. TermsFilter and BooleanFilter) return FixedBitSets, > either we use the cost API and make bad decisions, or need to fall back to > heuristics which are not as good such as > RandomAccessFilterStrategy.useRandomAccess which decides that random access > should be used if the first doc in the set is less than 100. > On the other hand, we also have some nice compressed and cacheable DocIdSet > implementation but we cannot make use of them because TermsFilter requires a > DocIdSet that has random write access, and FixedBitSet is the only DocIdSet > that we have that supports random access. > I think it would be nice to replace FixedBitSet in those filters with another > DocIdSet that would also support random write access but would have a better > cost? -- 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