1> I strongly recommend you re-index into a new collection and switch to it 
with a collection alias rather than try to re-index all the docs. Segment 
merging with the same field with dissimilar definitions is not guaranteed to do 
the right thing.

2> No. There a few (very few) things that don’t require starting fresh. You can 
do some things like add a lowercasefilter, add or remove a field totally and 
the like. Even then you’ll go through a period of mixed-up results until the 
reindex is complete. But changing the type, changing from multiValued to 
singleValued or vice versa (particularly with docValues) etc. are all “fraught”.

My usual reply is “if you’re going to reindex everything anyway, why not just 
do it to a new collection and alias when you’re done?” It’s much safer.

Best,
Erick

> On May 22, 2019, at 3:06 PM, John Davis <johndavis925...@gmail.com> wrote:
> 
> Hi there -
> Our facet counts are incorrect for a particular field and I suspect it is
> because we changed the type of the field from StrField to TextField. Two
> questions:
> 
> 1. If we do re-index all the documents in the index, would these counts get
> fixed?
> 2. Is there a "safe" way of changing field types that generally works?
> 
> *Old type:*
>  <fieldType name="strings" class="solr.StrField" sortMissingLast="true"
> docValues="true" multiValued="true"/>
> 
> *New type:*
>  <fieldType name="lowercase_notokenize" class="solr.TextField"
> omitNorms="true" omitTermFreqAndPositions="true" indexed="true"
> stored="true" positionIncrementGap="100" sortMissingLast="true"
> multiValued="true">
> <analyzer>
>      <tokenizer class="solr.KeywordTokenizerFactory"/>
>      <filter class="solr.LowerCaseFilterFactory"/>
>    </analyzer>
>  </fieldType>

Reply via email to