2017-12-07 1 views
1

Solrを使用して検索と索引付けを行う予定の放棄されたプロジェクトを引き継ぎましたが、Solrは正しく機能しません。 、そこconfディレクトリまたはschema.xmlファイルを持っていたいずれも3個のコア、のように見えるので、私はあなたが見ることができるように、_version_フィールドが存在し、以下のスキーマを書き、3つのコアのconf"_version_フィールドはスキーマに存在していなければなりません"、すでに実行済みです

<?xml version="1.0" encoding="UTF-8" ?> 
<schema name="mwplus_schema" version="1.6"> 

    <field name="_version_" type="long" indexed="true" stored="false" /> 
    <field name="pid" type="string" indexed="true" stored="true" required="true" multiValued="false"/> 
    <field name="text" type="text" indexed="true" stored="true" multiValued="true"/> 

    <uniqueKey>pid</uniqueKey> 
    <defaultSearchField>text</defaultSearchField> 
    <solrQueryParser defaultOperator="OR"/> 

</schema> 

にそれを貼り付け私はbin/solr start -f -p <port>を行う際ただし、このスキーマを使用している3つのコアのどれも、このエラーのために作成することができません:

Error creating core [xmeld_shard1_replica1]: Unable to use updateLog: _version_ field must exist in schema, using indexed="true" or docValues="true", stored="true" and multiValued="false" (_version_ does not exist)

私は私は、私はより多くの細部を投稿することはできませんごめんなさいSolrやprojecにあまり慣れていないそれ自体。なぜこれが起こっているのか、それを修正する方法に関する提案やアイデアはありますか?

編集:私はschema.xmlをSOの別の質問に対する回答に基づいて変更しましたが、問題は解決しません。上記は更新されたバージョンです。

答えて

2

あなたは_version_フィールドタイプに対してスキーマにstored="true"をしなければならない、それは間違いなく起動します

例えば

<field name="_version_" type="long" indexed="true" stored="true" /> 
0

クラウドモードを使用している可能性があります(ただし、コマンドラインはそうではありません)。そうした場合、あなたのスキーマはZookeeperに格納され、ファイルシステムにスキーマを置くことは何もしません。

管理UIにアクセスして、パスと作業ディレクトリの情報に注意して、さまざまな概要ページを確認します。彼らはあなたが期待しているものとは異なる場所を指しているかもしれません。クラウドモードではない場合でも、共有構成(configset)を使用している可能性があります。これは概要情報に反映され、core.propertiesファイルに反映されます。

クラウドモードの場合は、スキーマを更新する方法の詳細については、リファレンスガイドの関連ガイドを参照してください。あなたが持っているものを正確に知ってそれらをバックアップするまで、私はまだ何も修正していませんが。

関連する問題