単一のマシンまたは複数の異なるマシン上の異なるポート上で動作するSolr/Tomcatの複数のインスタンスを作成する必要がある場合があります。これを行うにあたって、環境変数(例えば、<dataDir>${envvar}/path/to/index</dataDir>
)を使用してdataDir変数(solrconfig.xml内で)を指定できるかどうか疑問に思っていました。dataDir変数にsolrconfig.xml内の環境変数を使用することはできますか?
答えて
私も同様の設定に取り組んでいるので、これも必要でした。このためにENV変数を使用するのは良い方法ではないと思います。マルチコアの設定を使用する方が良いでしょうし、solr.xmlのプロパティファイルを使用するほうが良いでしょう。
例えば、
<core name="core_1" instanceDir="core_1" properties="core1.properties" />
してからcore1.properties中:
config.datadir=/datadir1
、その後は使用することをあなたのsolrconfig.xmlで:
<dataDir>${config.datadir}</dataDir>
乾杯、
パトリック
data-config.xmlでも使用できますか? –
go multi-core。
特定のインデックスディレクトリをコアとして展開するようにSolrに指示できます。例えば、http://localhost:8983/solr/coreX
上path_to_instance_directory
にSolrのインデックスを展開する、あなたはどうなる:
http://localhost:8983/solr/admin/cores?action=CREATE&name=coreX&instanceDir=path_to_instance_directory&config=config_file_name.xml&schema=schem_file_name.xml&dataDir=data
次の2つの実行中のコアを交換し、負荷を作成するためのSolrを伝えることができ、非アクティブコアで実行されているコアを入れ替えるなど
はい、これを行うことはできますが、yあなたがそれを始めるときにこれを設定するためにいくつかのフープをジャンプする必要があります。using system properties passed to the JVM
どこでも、あなたの環境変数は次のように変数を入れて、あなたの設定ファイルで仕事をしたい:
${VAR}
その後、あなたはあなたのJVMを起動するとき、実行してそれに変数を渡す:
java -DVAR=$your-system-variable
を
だから、このコンクリートを作るために、ここで我々は何をすべきかです:
java -DINSTALL_ROOT=$INSTALL_ROOT -jar -server start.jar
そして、我々の設定があるの次のようになります。
<filter class="solr.SynonymFilterFactory" synonyms=${INSTALL_ROOT}/Solr/conf/synonyms.txt />
魅力的です。wiki.apache.orgに説明
として、あなたは以下のようにsolrconfig.xml
でシステムプロパティの置換を使用することができます。
<dataDir>${data.dir}</dataDir>
は、その後、あなたがプロパティの値を指定することができますファイル:
#solrcore.properties
data.dir=/data/solrindex
別の方法がありますこの方法でSolrランタイム中にデータディレクトリを指示する:
私はより良い方法は、例えば、あなたのsolr.home
内
solr.xml
を定義することだと思います
<dataDir>${solr.data.dir:./solr/data}</dataDir>
:
java -Dsolr.data.dir=/data/dir -jar start.jar
とXMLファイルで次の構文を使用し
<solr persistent="true" sharedLib="lib">
<cores adminPath="/admin/cores">
<core name="core0" instanceDir="core0" dataDir="/var/lib/solr/core0" />
<core name="core1" instanceDir="core1" dataDir="/var/lib/solr/core1" />
</cores>
</solr>
注:Iドンここで外部変数を使用できると思います。
最後例えばconf/Catalina/localhost
でJVMシステムプロパティファイルを(例えばsolr.xml
)、使用して:
solr/home
が働くだろう
<Context docBase="webapps/solr.war" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="/opt/solr/ads_solr" override="true" />
<Environment name="solr/data/dir" type="java.lang.String" value="/var/lib/solr" override="true" />
</Context>
、しかしsolr/data/dir
won't workあなたのSolrにパッチを適用せず。
- 1. php.iniで環境変数を使用することはできますか?
- 2. 環境変数を光源とする環境変数
- 3. 環境変数としてpowershell変数を使用する
- 4. キュウリに環境変数を設定することはできますか?
- 5. WebSphere環境変数はどこで表示できますか?
- 6. ユーザーデータスクリプト内の環境変数
- 7. のMakefile:ここでは、環境変数
- 8. bashスクリプト内で環境変数を使用する
- 9. Java内部でDocker環境変数を使用する
- 10. JavaでOS環境変数を読み取ることはできますか?
- 11. シェフレシピ使用Ubuntuの環境変数は
- 12. シェルスクリプト内の次のコマンドに環境変数を使用できません
- 13. .emacsは環境変数を読み取ることができますか?
- 14. 環境変数を使用してコンテナにポッド情報をエクスポーズすることはできますか?
- 15. bamboo変数は自動的に環境変数として使用できますか?
- 16. Elastic Beanstalk環境の名前は環境変数として使用できますか?
- 17. module.modulemapで環境変数またはティルダを使用できますか?
- 18. 環境変数は、別の環境変数を参照しています
- 19. ハドソンでSVNチェックアウトで環境変数を使用しますか?
- 20. linqpadスクリプトのリファレンスで環境変数を使用することはできますか?
- 21. org.ops4j.pax.logging.cfgで環境変数を使用するには?
- 22. VimスクリプトでWindows環境変数を使用するには?
- 23. シェルスクリプトでJenkins環境変数を使用するには?
- 24. log4j2でdocker passed環境変数を使用するには?
- 25. webpack + reactjsで環境変数を使用するには?
- 26. ドッカーの.envファイル内で環境変数を使用するには?
- 27. 糸package.jsonの環境変数を使用
- 28. CircleCIの環境変数を使用
- 29. 環境変数は
- 30. は、環境変数
ないあなたは、環境変数を使用できるかどうかを確認しますが、[ここ](http://wiki.apache.org/solr/SolrConfigXml#System_property_substitution)で説明したように、システムのプロパティを使用することができます。 – nikhil500