0

操作系统:Ubuntu 12.04

我刚刚将我的系统从使用 Solr 1.4 升级到 Solr 4.3.0 并且似乎无法让 MySQL 驱动程序工作(或者我怀疑)。Solr 似乎工作正常(通过浏览器等访问它),直到我将以下行添加到 solrconfig.xml

    <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
      <lst name="defaults">
        <str name="config">/opt/solr/core01/conf/data-config.xml</str>
      </lst>
    </requestHandler>

将这些行添加到配置后,重新启动 Tomcat7 并刷新我的 localhost:8080/solr,我收到以下错误:

    HTTP Status 500 - {msg=SolrCore 'core01' is not available due to init failure: org/apache/solr/util/plugin/SolrCoreAware,trace=org.apache.solr.common.SolrException: 
    SolrCore 'core01' is not available due to init failure: org/apache/solr/util/plugin/SolrCoreAware at 

然后是一堆杂项。过滤器等。我只能通过浏览器看到这个错误——我似乎在 Tomcat 的任何日志中都找不到它。

另一件需要注意的是,我已经包含了所需的 JAR 文件:

    solr-dataimporthandler-extras-4.3.0.jar
    solr-dataimporthandler-4.3.0.jar

因为它们似乎没有随 Solr 4.3.0 的下载一起提供

这个问题浪费了很多时间,所以希望这里有人可以伸出援手,看看有什么问题。

提前致谢!

编辑:

这就是我的 data-config.xml 的样子

    <?xml version="1.0" encoding="UTF-8"?>
    <dataConfig>
      <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/db_name" user="db_user" password="db_password" />
      <document>
        <entity name="table" query="SELECT * FROM table">
          <field column="id" name="id" />
          <field column="name" name="name" />
        </entity>
      </document>
    </dataConfig>

用真实数据替换明显的变量。

4

1 回答 1

0

查看DIHQuickStart 页面并查看错误消息后,您可能希望从config设置中删除该路径,因为 Solr 将在默认情况下首先定义 DIH 的核心的 conf 文件夹中查找。所以改成:

 <str name="config">data-config.xml</str>
于 2013-05-17T22:12:48.053 回答