プロジェクトで検索を広範囲に処理するために Solr を使用しています。IntelliJ IDEA でサブモジュールを作成し、スタンドアロンで WAR パッケージとしてデプロイしたり、IntelliJ 経由で事前定義された構成を持つ他のアーティファクトと一緒に起動したりしたいと考えています。
このチュートリアルを使用して、Solr と Maven を使い始めました。私が行った唯一の変更は、Jetty プラグインを削除することでした (代わりに Tomcat にデプロイしているため)。
WAR ファイルのビルドは期待どおりに機能しますが、IntelliJ で起動するか、自分で Tomcat にデプロイすると、次のスタックトレースが返されます。
org.apache.solr.common.SolrException: org.apache.solr.core.CoreContainer.create( で org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:592) で solrconfig.xml の構成を読み込めませんでした ( CoreContainer.java:657) で org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:364) で org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:356) で java.util .concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) で java.util.concurrent.FutureTask.run(FutureTask.java:138) で java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) ) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) で java.util.concurrent.FutureTask.run(FutureTask.java:138) で java.util.concurrent.ThreadPoolExecutor$Worker.runTask( ThreadPoolExecutor.java:895) Java で。java.lang.Thread.run(Thread.java:680) の util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
原因: java.io.IOException: リソース 'solrconfig.xml' がクラスパスまたは 'solr/collection1/conf/' に見つかりません。cwd=/usr/local/Cellar/tomcat/7.0.42/libexec/bin at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:322) at org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:287) at org.apache.solr.core.Config.(Config) .java:116) org.apache.solr.core.Config.(Config.java:86) org.apache.solr.core.SolrConfig.(SolrConfig.java:120) org.apache.solr.core. CoreContainer.createFromLocal(CoreContainer.java:589) ... 11 もっと見る
23Sep13-10:54:34 エラー (SolrException.java:119)-null:org.apache.solr.common.SolrException: コアを作成できません: org.apache.solr.core.CoreContainer.recordAndThrow(CoreContainer.java で collection1 :1150) org.apache.solr.core.CoreContainer.create(CoreContainer.java:666) で org.apache.solr.core.CoreContainer$1.call(CoreContainer.java:364) で org.apache.solr.core .CoreContainer$1.call(CoreContainer.java:356) で java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) で java.util.concurrent.FutureTask.run(FutureTask.java:138) で Java で.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) で java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) で java.util.concurrent.FutureTask.run(FutureTask.java) :138) java.util.concurrent.ThreadPoolExecutor$Worker で。runTask(ThreadPoolExecutor.java:895) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) で java.lang.Thread.run(Thread.java:680) で
原因: org.apache.solr.common.SolrException: org.apache.solr.core.CoreContainer の org.apache.solr.core.CoreContainer.createFromLocal(CoreContainer.java:592) で solrconfig.xml の構成を読み込めませんでした.create(CoreContainer.java:657) ... 10 件以上
原因: java.io.IOException: リソース 'solrconfig.xml' がクラスパスまたは 'solr/collection1/conf/' に見つかりません。cwd=/usr/local/Cellar/tomcat/7.0.42/libexec/bin at org.apache.solr.core.SolrResourceLoader.openResource(SolrResourceLoader.java:322) at org.apache.solr.core.SolrResourceLoader.openConfig(SolrResourceLoader.java:287) at org.apache.solr.core.Config.(Config) .java:116) org.apache.solr.core.Config.(Config.java:86) org.apache.solr.core.SolrConfig.(SolrConfig.java:120) org.apache.solr.core. CoreContainer.createFromLocal(CoreContainer.java:589) ... 11 もっと見る
私の solr.xml は次のようになります。
<solr persistent="true">
<logging enabled="true">
<watcher size="100" threshold="INFO" />
</logging>
<cores adminPath="/admin/cores" defaultCoreName="${solr.default.core.name}" host="${host:}" hostPort="${jetty.port:}" hostContext="${hostContext:}" zkClientTimeout="${zkClientTimeout:15000}">
<core name="${solr.default.core.name}" instanceDir="${solr.default.core.directory}" />
</cores>
</solr>
そして、次のようなconfig.propertiesファイル(チュートリアルで概説されているように)があります:
#SOLR PROPERTIES
#Configures the directory used to store the data and configuration of the Solr default core
solr.default.core.directory=todo
#Configures the name of the Solr default core.
solr.default.core.name=todo
#SYSTEM PROPERTIES
#Configures the home directory of Solr
solr.solr.home=target/solr-home/
これをTomcat経由で簡単に展開できるようにするにはどうすればよいですか?