[
https://issues.apache.org/jira/browse/LUCENE-5052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13938046#comment-13938046
]
Michael McCandless commented on LUCENE-5052:
--------------------------------------------
OK, I agree: if we use a sparse bitset, then we could use the format for all
postings. I guess we'd switch up the bitset impl depending on docFreq of each
term.
We already have FieldInfo.IndexOptions.DOCS_ONLY to express that you want to
index only the docIDs. E.g. StringField sets this.
And our default codec already makes it easy to switch up the postings format by
field: just subclass it and override getPostingsFormatForField.
> bitset codec for off heap filters
> ---------------------------------
>
> Key: LUCENE-5052
> URL: https://issues.apache.org/jira/browse/LUCENE-5052
> Project: Lucene - Core
> Issue Type: New Feature
> Components: core/codecs
> Reporter: Mikhail Khludnev
> Labels: features
> Fix For: 5.0
>
> Attachments: LUCENE-5052.patch, bitsetcodec.zip, bitsetcodec.zip
>
>
> Colleagues,
> When we filter we don’t care any of scoring factors i.e. norms, positions,
> tf, but it should be fast. The obvious way to handle this is to decode
> postings list and cache it in heap (CachingWrappingFilter, Solr’s DocSet).
> Both of consuming a heap and decoding as well are expensive.
> Let’s write a posting list as a bitset, if df is greater than segment's
> maxdocs/8 (what about skiplists? and overall performance?).
> Beside of the codec implementation, the trickiest part to me is to design API
> for this. How we can let the app know that a term query don’t need to be
> cached in heap, but can be held as an mmaped bitset?
> WDYT?
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]