私はsolrが初めてです。サーバーにApacheTomcat 7.0をインストールし、サーバーにsolr3.6.1をインストールしました。
D:\ドライブにネットワーク担当者が設定したsolr-homeフォルダーがあります。その中のフォルダは、bin、etc、logs、multicore、webappsです。
マルチコアフォルダーには、core0、core1、exampledocs、README.txt、およびsolr.xmlがあります。 webappsフォルダーには、solr.warファイルがあります。
ここで、confフォルダーを含むConfigUserTextUpdateという名前のマルチコアフォルダーにもう1つのコアフォルダーを保持し、Tomcatサービスを再起動すると、localhost/solrに新しいコアが表示されます。
次に、db-config.xmlをConfigUserTextUpdateコアに追加します。以下は内容です:
<dataConfig>
<dataSource
type="JdbcDataSource"
driver="com.Microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://<dbname>\<servername>;databaseName=dbname" user="username"
password="password"/>
<document>
<entity name="ConfigUserTextUpdate" query="UserTextUpdate_Index">
</entity>
</document>
</dataConfig>
ここまではすべて問題なく、3つのコアすべてがlocalhost/solrに表示されています。ここで、コアConfigUserTextUpdateのsolrconfig.xmlに次の行を追加します
<requestHandler name="/dataimport" class="org.Apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
</lst>
</requestHandler>
そして、以下に示すようにエラーが発生し始めます。
HTTP Status 500 - Severe errors in solr configuration. Check your log files for more detailed information on what may be wrong. If you
構成エラーの後でsolrを続行したい場合は、次のように変更します。solr.xmlのfalse ----------------------------------- -------------------------- org.Apache.solr.common.SolrException:クラス 'org.Apache.solr.handler.dataimportのロード中にエラーが発生しました。 DataImportHandler'at org.Apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.Java:394)at org.Apache.solr.core.SolrCore.createInstance(SolrCore.Java:419)at org.Apache.solr.core.SolrCore .createRequestHandler(SolrCore.Java:455)at org.Apache.solr.core.RequestHandlers.initHandlersFromConfig(RequestHandlers.Java:159)at org.Apache.solr.core.SolrCore。(SolrCore.Java:563)at org.Apache .solr.core.CoreContainer.create(CoreContainer.Java:480)at org.Apache.solr.core.CoreContainer.load(CoreContainer.Java:332)at org.Apache.solr.core.CoreContainer.load(CoreContainer.Java :216)org.Apache.solr.core.CoreContainer $ Initializer.initialize(CoreContainer.Java:161)at org.Apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.Java:96)at org.Apache.cata lina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.Java:277)at org.Apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.Java:258)at org.Apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.Java: 382)org.Apache.catalina.core.ApplicationFilterConfig。(ApplicationFilterConfig.Java:103)at org.Apache.catalina.core.StandardContext.filterStart(StandardContext.Java:4650)atorg.Apache.catalina.core.StandardContext。 startInternal(StandardContext.Java:5306)at org.Apache.catalina.util.LifecycleBase.start(LifecycleBase.Java:150)at org.Apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.Java:901)at org.Apache .catalina.core.ContainerBase.addChild(ContainerBase.Java:877)at org.Apache.catalina.core.StandardHost.addChild(StandardHost.Java:633)at org.Apache.catalina.startup.HostConfig.deployWAR(HostConfig.Java :977)org.Apache.catalina.startup.HostConfig $ DeployWar.run(HostConfig.Java:1655)atJava.util.conc urrent.Executors $ RunnableAdapter.call(Unknown Source)at Java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source)at Java.util.concurrent.FutureTask.run(Unknown Source)at Java.util.concurrent.ThreadPoolExecutor $ Java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)のWorker.runTask(Unknown Source)Java.lang.Thread.run(Unknown Source)原因:Java.lang.ClassNotFoundException:org.Apache.solr。 handler.dataimport.DataImportHandler at Java.net.URLClassLoader $ 1.run(Unknown Source)at Java.security.AccessController.doPrivileged(Native Method)at Java.net.URLClassLoader.findClass(Unknown Source)at Java.lang.ClassLoader.loadClass (不明なソース)Java.net.FactoryURLClassLoader.loadClass(不明なソース)Java.lang.ClassLoader.loadClass(不明なソース)Java.lang.Class.forName0(ネイティブメソッド)Java.lang.Class.forName(不明ソース)org.Apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.Java:378)で... 27詳細
Dataimporthandler.jarファイルをコアフォルダーに配置したり、さまざまなサイトで提供されている他の多くのことを試しましたが、それでも同じエラーが発生します。これらを手伝ってください。
さらに情報が必要な場合はお知らせください。
前もって感謝します。
solrconfig.xmlを編集し、ライブラリへのパスも追加する必要があります。例:
<lib dir="../../../../dist/" regex="Apache-solr-dataimporthandler-.*\.jar" />
..まだそのディレクトリにある場合。 solrconfigsの例では、すぐ下に配置されていることがわかりました
<luceneMatchVersion>LUCENE_40</luceneMatchVersion>
実装しようとしているsolr-4.3.0の場合: http://wiki.Apache.org/solr/DIHQuickStart 追加:
<lib dir="../../../contrib/dataimporthandler/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-dataimporthandler-.*\.jar" />
ファイル内:PROJECT-HOME\ solr\collection1\conf\solrconfig.xml
既存の行の下で:
<lib dir="../../../contrib/velocity/lib" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
問題を解決しました。サーブレットコンテナを再起動する必要があるかもしれません(デフォルトの場合:Jetty)。
solr-5.2.バージョンの問題。 solr-5.5.に切り替えると、問題は解決しました。
同様の問題がありましたが、私の問題はシンボリックリンクにありました(solrはそれらをフォローしていませんでした)。