lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <>
Subject [jira] [Commented] (LUCENE-4819) move Sorted[Set]DocValuesTermsEnum to codec
Date Mon, 18 Mar 2013 15:58:15 GMT


Robert Muir commented on LUCENE-4819:

I can backport this to 4.2.1 if we want, or we can just wait for 4.3

The thing i hate about it: the stupid binary-search next() in the default codec
makes for long reopen times (if you use e.g. DV faceting in solr) and slower merging.

But things are working correctly without it, so I can go either way.
> move Sorted[Set]DocValuesTermsEnum to codec
> -------------------------------------------
>                 Key: LUCENE-4819
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/index
>            Reporter: Robert Muir
>             Fix For: 5.0, 4.3
>         Attachments: LUCENE-4819.patch, LUCENE-4819.patch
> Currently a user can instantiate a SortedDocValuesTermsEnum(SortedDocValues). 
> This is a generic termsenum, implementing all operations by lookupOrd().
> I think instead this should be the default implementation, and we should have e.g. SortedDocValues.termsEnum()
that returns it (codec can implement something fancier).
> For example the default codec implements lookupOrd as an FST binary search, which means
next() on this termsenum is much slower than it needs to be for the places where this enum
is actually used (segment merging, OrdinalMap used for faceting in SOLR-4490 and LUCENE-4795)

> So instead, it can override this method and use an FSTEnum, and these operations are
significantly faster (3x faster for me with a simple benchmark with 10M terms).

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message