php - 将 MySQL 数据库完全导入到 Solr 4 会出现 404 错误

标签 php mysql jdbc solr

又一个 Solr 4 新用户。我很欣赏 Solr 在全文搜索方面的能力,但在线文档有点令人沮丧。无论如何,我正在努力将我的 MySQL 数据库(有几百万条记录)导入 Solr。

  • 我下载了 Java 连接器并将其保存在 example/lib 中目录。
  • 我创建了 data-config.xml并放入其中:

    <document name="doc">
        <entity name="pagey" query="SELECT * FROM page">
    
            <field column="id" name="pid" />
            <field column="Content" name="pcontent" />
            <field column="bid" name="bid" />
            <field column="Num" name="num" />
        </entity>
    </document>
    

    并将其保存在:/example/solr/collection1/conf .

  • 将该文件链接到 solrconfig.xml通过添加:

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

  • 修改了 schema.xml 以添加我的新字段。

但是当我通过插入执行完全导入时:http://[localhost]:8983/solr/dataimport?command=full-import我收到此错误:HTTP ERROR 404 Problem accessing /solr/dataimport. Reason: Not Found .我认为这在最后一个版本 4 中不再有效。所以我尝试了:http://[localhost]:8983/solr/#/collection1/dataimport?command=full-import但什么也没发生。

我的字段已成功添加,我可以在 collection1 的模式浏览器部分的管理面板上看到它们。

从管理员 -> collection1 -> Dataimport,它显示:sorry, no dataimport-handler defined! . 运行 start.jar不显示错误。

我在这里错过了什么?

编辑:解决后,记住“XML 区分大小写”。

最佳答案

您的数据配置需要看起来更像这样。您没有指定 mysql 主机、用户或密码。

<dataConfig>
    <dataSource type="JdbcDataSource"
   driver="com.mysql.jdbc.Driver"
   url="jdbc:mysql://127.0.0.1:8889/yourdatabase"
   user="mysql_user"
   password="mysql_password"/>

<document name="doc">
    <entity name="pagey" query="SELECT * FROM page">

        <field column="id" name="pid" />
        <field column="Content" name="pcontent" />
        <field column="bid" name="bid" />
        <field column="Num" name="num" />
    </entity>
</document>
</dataConfig>

您需要将其包含在您的 solrconfig.xml 文件中。

<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> 

在 solr.xml 中你需要确保你有以下内容

<solr persistent="true" sharedLib="../lib">

关于php - 将 MySQL 数据库完全导入到 Solr 4 会出现 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13546580/

相关文章:

java - 在java中查询与在mysql中不同

sql-server-2008 - Solr DataImportHandler登录到SQL,但从不获取任何数据

php - 如何设置 PHPStorm 以检查所需/包含文件中的变量使用情况?如何检查所需/包含文件中的变量定义?

mysql - 在mysql中将列转置为行

PHP将字符串转换为数组

asp.net - 来自 ASP.NET 2 的 MySQL 存储过程调用抛出 Use Procedure bodies 异常

mysql - 动态生成的字段不保存

java - ORA-27101 使用通用连接池

php - 如何验证php中内容的开始和结束日期时间

php - 文本不脱离列