You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Michael Ryan <mr...@moreover.com> on 2012/04/16 18:12:30 UTC

Changing precisionStep without a re-index

Is it safe to change the precisionStep for a TrieField without doing a re-index?

Specifically, I want to change a field from this:
<fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
to this:
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>

By "safe", I mean that searches will return the correct results, a FieldCache on the field will still work, clowns won't eat me...

-Michael

RE: Changing precisionStep without a re-index

Posted by Michael Ryan <mr...@moreover.com>.
In case anyone tries to do this... If you facet on a TrieField and change the precisionStep to 0, you'll need to re-index. Changing precisionStep to 0 changes the prefix returned by TrieField.getMainValuePrefix(FieldType), which then causes facets with a value of "0" to be returned.

-Michael

RE: Changing precisionStep without a re-index

Posted by Michael Ryan <mr...@moreover.com>.
> Not really - it changes what tokens are indexed for them numbers and
> range queries won't work correctly.
> Sorting (FieldCache), function queries, etc, would still work, and
> exact match queries would still work.

Thanks. So it is just range queries that won't work correctly? That's okay for my purposes.

-Michael

Re: Changing precisionStep without a re-index

Posted by Yonik Seeley <yo...@lucidimagination.com>.
On Mon, Apr 16, 2012 at 12:12 PM, Michael Ryan <mr...@moreover.com> wrote:
> Is it safe to change the precisionStep for a TrieField without doing a re-index?

Not really - it changes what tokens are indexed for them numbers and
range queries won't work correctly.
Sorting (FieldCache), function queries, etc, would still work, and
exact match queries would still work.


-Yonik
lucenerevolution.com - Lucene/Solr Open Source Search Conference.
Boston May 7-10


> Specifically, I want to change a field from this:
> <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
> to this:
> <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
>
> By "safe", I mean that searches will return the correct results, a FieldCache on the field will still work, clowns won't eat me...
>
> -Michael