2011-09-21 28 views
3

私は、3つの異なるコアを持つSOLRのインスタンスを1つ持っています。
各コアのスキーマファイルを指定するsolr.xml設定ファイルを作成しましたが、認識されません。システムはまだデフォルトのschema.xmlを読み込もうとします(私はそれを削除して失敗します)。 contentSchema.xmlは[SOLR_HOME]/confの下に存在するSOLRの異なるコアに異なるスキーマファイルを持たせるにはどうすればよいですか?

<solr persistent="false"> 
    <cores adminPath="/admin/cores" defaultCoreName="content" shareSchema="false"> 
     <core name="content" instanceDir="."> 
       <property name="schema" value="conf/contentSchema.xml" /> 
     </core> 
    </cores> 
</solr> 

ファイル `:私はここに、solr.xmlに一つだけのコードを左にデバッグ目的のために

は、私が持っているエントリです。 Itried両方のファイル名のみとのconf /ファイル名

も、そのフェーズに到達しないで、エラーは次のとおりです。

SEVERE:java.lang.RuntimeException:リソース「のschema.xml」を見つけることができませんクラスパス内または /usr/local/solr/./conf/」、CWD =は/ usr/local/Solrの

答えて

2

あなたがソースダウンロードした場合、あなたが参照できるマルチコア構成をデモ、マルチコアフォルダを確認テスト。 または@

詳細@http://wiki.apache.org/solr/CoreAdmin#Configuration - は良い出発点になります。

マルチコアは、Solrのホームフォルダの下にある必要はなく、 -Dsolr.solr.home =マルチコア

solr.xmlコアフォルダと同じフォルダにあると指定することができます。コアのスキーマファイルの名前(デフォルトでのschema.xml) 例えば - コアフォルダ SCHEMANAMEへ インスタンス・ディレクトリーのポイント

<core name="content" instanceDir="content"> 
    <property name="schemaName" value="contentSchema.xml" /> 
</core> 
+0

私がしたことはすべてこのドキュメントによると、何らかの再考のためにschema.xmlの名前をオーバーライドできません。ああ...私は単に各コアごとに異なるディレクトリを使用します - ありがとう。 –

1

、慎重に「スキーマ」を文書を読むコア要素の属性でないプロパティです。あなたがコアのconfフォルダの下に 'myschema.xml' を入れたとします

<core ....> 
    <property name="schema" value="myschema.xml" /> 
</core> 

はクラスパスでのschema.xmlを見つけることができない原因になりますか...../confにエラー一方

<core .... schema='myschema.xml' /> 

は成功します。

注:Lucid Imaginationのドキュメントは古くなっている可能性があります。または、将来のバージョンのSolrの機能について話している可能性があります。

0

これは、私は、彼らが順番にも右dataフォルダ(中にポイントそれ自身のconfファイルでconfディレクトリを持っている私がfinaly使用したもので、これらのディレクトリの下にそれぞれ

<cores adminPath="/admin/cores" defaultCoreName="content"> 
    <core name="content" instanceDir="./content" /> 
    <core name="users" instanceDir="./users" /> 
    <core name="users_organizations" instanceDir="./users_organizations" /> 
</cores> 

を働いていますsolrconfig.xmlファイル)

関連する問題