lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <>
Subject [jira] Commented: (LUCENE-1701) Add NumericField and NumericSortField, make plain text numeric parsers public in FieldCache, move trie parsers to FieldCache
Date Mon, 22 Jun 2009 19:02:07 GMT


Uwe Schindler commented on LUCENE-1701:

bq. Uwe, can we give a default (4?) for precisionStep, when creating a NumericField, NumericRangeFilter/Query?
If we find a good default, it can simplier applied in one issue (just some additional ctors
and factories).

Can you open an issue? There are some problems with defining a good default. In my environment,
8 makes the best results, 4 is only little faster.
Problems are described in JavaDocs: smaller precisionStep -> more different precisions:
- more seek operations and new TermEnums
- but less terms
For my index with 8 is in good relation to each other, with 4 seeking gets costly and with
2, I see no difference, only a much larger index (600,000 docs on PANGAEA, 4 Mio doc index
locally on Laptop with only trie numbers).

So I do not want to set a default with enough tests from different people/scenarios, and this
comes when 2.9 is out and everybody tries out :(

I will commit this patch in a day or two after applying LUCENE-1701-test-tag-special.patch
to 2.4-test-branch.

> Add NumericField and NumericSortField, make plain text numeric parsers public in FieldCache,
move trie parsers to FieldCache
> ----------------------------------------------------------------------------------------------------------------------------
>                 Key: LUCENE-1701
>                 URL:
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: Index, Search
>    Affects Versions: 2.9
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 2.9
>         Attachments: LUCENE-1701-test-tag-special.patch, LUCENE-1701.patch, LUCENE-1701.patch,
LUCENE-1701.patch, LUCENE-1701.patch, LUCENE-1701.patch, LUCENE-1701.patch,
> In discussions about LUCENE-1673, Mike & me wanted to add a new NumericField to o.a.l.document
specific for easy indexing. An alternative would be to add a NumericUtils.newXxxField() factory,
that creates a preconfigured Field instance with norms and tf off, optionally a stored text
(LUCENE-1699) and the TokenStream already initialized. On the other hand NumericUtils.newXxxSortField
could be moved to NumericSortField.
> I and Yonik tend to use the factory for both, Mike tends to create the new classes.
> Also the parsers for string-formatted numerics are not public in FieldCache. As the new
SortField API (LUCENE-1478) makes it possible to support a parser in SortField instantiation,
it would be good to have the static parsers in FieldCache public available. SortField would
init its member variable to them (instead of NULL), so making code a lot easier (FieldComparator
has this ugly null checks when retrieving values from the cache).
> Moving the Trie parsers also as static instances into FieldCache would make the code
cleaner and we would be able to hide the "hack" StopFillCacheException by making it private
to FieldCache (currently its public because NumericUtils is in o.a.l.util).

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

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

View raw message