lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leo Prince <leoprince.discussi...@gmail.com>
Subject Solr7 org.apache.lucene.index.IndexUpgrader
Date Fri, 24 Nov 2017 06:31:20 GMT
Hi,

We were using bit older version Solr 4.10.2 and upgrading to Solr7.

We have like 4mil records in one of the core which is of course pretty
huge, hence re-sourcing the index is nearly impossible and re-querying from
source Solr to Solr7 is also going to be an exhausting effort.

Hence, I tried to upgrade the Index using
org.apache.lucene.index.IndexUpgrader. like first upgraded to 5 and then to
6 and then to 7. IndexUpgrade went fine without issue, however having error
with initializing the core.

Index Upgrade
===========
java -cp lucene-core-5.5.4.jar:lucene-backward-codecs-5.5.4.jar
org.apache.lucene.index.IndexUpgrader -delete-prior-commits
/var/solr/data/report_shard1_replica_n1/data/index/
java -cp lucene-core-6.6.0.jar:lucene-backward-codecs-6.6.0.jar
org.apache.lucene.index.IndexUpgrader -delete-prior-commits
/var/solr/data/report_shard1_replica_n1/data/index/
java -cp lucene-core-7.1.0.jar:lucene-backward-codecs-7.1.0.jar
org.apache.lucene.index.IndexUpgrader -delete-prior-commits
/var/solr/data/report_shard1_replica_n1/data/index/

IndexUpgrader ran just fine without any errors. but got this error with
initializing the core.



*java.lang.IllegalStateException:java.lang.IllegalStateException:
unexpected docvalues type NONE for field '_version_' (expected=NUMERIC).
Re-index with correct docvalues type.*
Being said, I am using Classic Schema and used default managed-schema file
as classic schema.xml.

*./server/solr/configsets/_default/conf/managed-schema*

When comparing schema of 4.10.2 with that of 7.1.0, I see the field type
names have changed like follows




*<fieldType name="pint" class="solr.IntPointField"
docValues="true"/><fieldType name="pfloat" class="solr.FloatPointField"
docValues="true"/><fieldType name="plong" class="solr.LongPointField"
docValues="true"/><fieldType name="pdouble" class="solr.DoublePointField"
docValues="true"/>*

Earlier until Solr6, it was int, float, long and double (*with out P at the
beginning*). I read in docs, old field type names are deprecated in Solr7
and have to use everything starting with "*P*" which enhances the
performances. Hence in this context,

1, The error I got
*java.lang.IllegalStateException:java.lang.IllegalStateException,
*Is it because my index data synced and upgraded contains old field type
names and new Solr7 schema contains new field type names..? Being
said, my IndexUpgrade
completed without any errors.

2, How to sort out the error in 1, if my assessment correct.? Since my data
is too large such that it's hard to re-source or re-query, is there any
other work arounds to migrate the index if IndexUpgrade is not an option to
upgrade index to 7.

Please advise and thanks in advance.

Leo Prince.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message