【问题标题】:How to import data from mysql to solr如何将数据从mysql导入solr
【发布时间】:2013-11-06 10:05:01
【问题描述】:

我正在尝试使用以下 URL 进行完整的数据库导入

    `127.0.0.1:8983/solr/dataimport?command=full-import`

我安装了 solr 并尝试对其进行配置。我更改了一些文件并添加了详细信息(文件名和添加的代码如下所述)。但是当我尝试将表数据导入 solr json 格式时,它显示以下错误:

    HTTP ERROR 404

    Problem accessing /solr/dataimport. Reason:

    Not Found
        Powered by Jetty://

谁能告诉我真正的问题是什么?还是我错误配置了 Sorl?


我的 data-config.xml 文件有以下代码:

<dataConfig>
  <dataSource type="JdbcDataSource" 
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost/sq_dbLoveOffers" 
              user="pksqueak" 
              password="passwd"/>
  <document>
    <entity name="id" 
            query="select sq_prom_id, sq_prom_name, sq_prom_description, sq_latitude, sq_longitude from sq_offers">
    </entity>
  </document>
</dataConfig>

我在 Solrconfig.xml 中添加了以下代码:

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

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

我在 schema.xmal 文件中添加了以下代码:

<fields>
    <field name="sq_prom_id" type="string" indexed="true" stored="true" required="true" />
    <field name="sq_prom_name" type="string" indexed="true" stored="true" />
    <field name="sq_prom_description" type="string" indexed="true" stored="true" />
    <field name="sq_latitude" type="string" indexed="true" stored="true" />
    <field name="sq_longitude" type="string" indexed="true" stored="true" />
</fields>

【问题讨论】:

  • 您是否在 Solr 的日志或您的服务器(jetty/tomcat)的日志中看到任何消息或错误?

标签: mysql apache solr


【解决方案1】:

如果您寻址的核心不是您的默认核心,则您的请求在 URL 中缺少核心的名称。你应该要求应该是这样的

127.0.0.1:8983/solr/&lt;core-name&gt;/dataimport?command=full-import

您需要将 &lt;core-name&gt; 替换为您在 solr.xml 中配置的核心的实际名称。

【讨论】:

  • 即使我添加了核心名称,它也显示相同的错误(在这种情况下,我的核心是“collection1”)。网址为:localhost:8983/solr/#/collection1/dataimport/…
  • @Praful 离开#
  • 运气不好。我收到以下错误:HTTP ERROR 404 访问 /solr/collection1dataimport 时出现问题。原因:未找到 但是如果检查这里的错误“collection1dataimport”没有分隔符(常用斜杠/)?
  • @Praful 当然你确实需要那个斜线,你确实需要那个 dataimport 只是 once 像这样:http://localhost:8983/solr/collection1/dataimport?command=full-import 就像在答案中写的那样......
  • 感谢 cheffe 的帮助,但这并不能解决我的问题。无论如何,请让我知道“data-config.xml”“Solrconfig.xml”和“schema.xml”文件内容是否正确。 (我在核心文件夹中更改了这些文件)
【解决方案2】:

我使用以下命令为 DIH 运行 sorl 服务器。

java -Dsolr.solr.home="./example-DIH/solr/" -jar start.jar

我使用下面的 URL 进行了完整的导入,它解决了我的问题。

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

【讨论】:

    【解决方案3】:

    我有一个功能正常的数据导入处理程序,如果需要,您可以与我比较配置http://amac4.blogspot.co.uk/2013/08/configuring-solr-4-data-import-handler.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-22
      • 2014-10-28
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多