2

当我尝试通过在浏览器中加载来导入 mysql 表时:

http://192.168.136.129:8983/solr/dataimport?command=full-import

我收到此错误:

HTTP ERROR 404

Problem accessing /solr/dataimport. Reason:

    NOT_FOUND

Powered by Jetty://

我正在按照官方 Solr wiki 中的本教程开始使用 DIH:

http://wiki.apache.org/solr/DIHQuickStart

根据教程,我将此添加到我的 solrconfig.xml 中:

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

在 data-config.xml 我有以下内容:

<dataConfig>
  <dataSource type="JdbcDataSource" 
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost/site" 
              user="root" 
              password="123"/>
  <document>
    <entity name="profiles" 
            query="select user_id,about,music,movies,occupation from profiles">
    </entity>
  </document>
</dataConfig>

这些是我的 schema.xml 中定义的字段:

  <fields>
    <field name="user_id" type="string" indexed="true" stored="true" required="true" />
    <field name="about" type="string" indexed="true" stored="true" />
    <field name="music" type="string" indexed="true" stored="true" />
    <field name="movies" type="string" indexed="true" stored="true" />
    <field name="occupation" type="string" indexed="true" stored="true" />  
    <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
  </fields>

  <uniqueKey>user_id</uniqueKey>

那么我做错了什么?我想它可能与 data-config.xml 文件有关。在其中,我不知道是否假设了 MySQL 驱动程序的某个路径。我从这里下载了 MySQL JDBC 驱动程序:

http://dev.mysql.com/downloads/connector/j/3.1.html

并将其放在我的/solr/lib目录中。

当我下载驱动程序并解压它时,在一个名为“mysql-connector-java-3.0.17-ga”的文件夹中有一堆文件夹。

我确实注意到里面有一个名为:的目录com,在里面mysql和里面,jbdc里面有一个名为Driver.class.

这是从 data-config.xml 引用的内容吗?如果是这样,为什么没有提到初始目录。

基本上我不知道问题是什么,请有人帮忙。

4

5 回答 5

5

只需确保在 solrconfig.xml 文件中有这些代码行

<lib dir="../../../contrib/dataimporthandler/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="solr-dataimporthandler-\d.*\.jar" />

确保这些 jar 文件的路径和那些 jar 文件应该在该路径上物理可用。如果您没有,请添加它并尝试重新启动 tomacat 服务器,希望它会得到解决。

于 2013-02-05T19:45:44.133 回答
1

我知道这个问题很老,但我最近有机会设置它,并且在使用 Bitnami (Windows) 时遇到了类似的问题。

  1. \dist确保您有dataimporter和mysqlconnector

solr-dataimporthandler-4.9.0.jar

mysql-connector-java-5.1.32-bin.jar

  1. \contrib\dataimporthandler\lib

    激活-1.1.1.jar

    邮件 1.4.3.jar

  2. 在你的集合中 solrconfig.xml 应该有

    <lib dir="../../contrib/dataimporthandler/lib/" regex=".*\.jar" />
    <lib dir="../../dist/" regex="solr-dataimporthandler-.*\.jar" />  
    <lib dir="../../dist/" regex="mysql-connector-java-.*\.jar"/>  
    

和:

  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
      <str name="config">db-data-config.xml</str>
    </lst>
  </requestHandler>
于 2014-09-12T12:40:55.510 回答
0

看起来您在 Solr /lib 文件夹中缺少“DataImportHandler.jar”,或者您的 solr-conf.xml 文件不知道 DataImportHandler 类。

确保那里存在 DataImportHandler,以检查命中

"http://localhost/solr/dataimport" ,

如果您的浏览器上没有任何错误消息,这意味着 solr-conf.xml 不知道 SolrDataImportHandler.jar 的位置

解决方案:可以通过在 solr-conf.xml 中使用以下代码行来解决问题

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

有关更多信息,请查看

可能存在您的初始配置不完善的情况,请在开始导入前查看此处配置 solr 。

于 2013-05-04T16:04:36.807 回答
0

尝试将您data-config.xml所在位置的绝对路径放在您的solrconfig.xml而不是相对路径中。

于 2012-07-04T09:16:53.840 回答
0

您收到 NOT_FOUND 错误的事实意味着您的请求处理程序没有被初始化。确保在插入请求处理程序后重新启动 solr。

还要确保将 data-config.xml 保存在与 solrconfig.xml 相同的目录中

于 2012-04-28T18:03:51.707 回答