4

我想将 Apache Solr 搜索服务器与 mysql 服务器连接起来,以便我可以从我的数据库中获取过滤后的数据并将其转换为 JSON 或 XML。

4

4 回答 4

12

第一步:新建一个xml文件db-data-config.xml,放入如下内容:

    <dataConfig>
    <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://`localhost`/database_name" user="" password=""/>
    <document>
    <entity name="table_name" query="select * from table_name" >
    <field name="solr_field_map" column="table_column_name" />
    <field name="name" column="name" />
    </entity>
    <entity name="emp" query="select id from emp">
<field name="id" column="id" />
    </entity>
    </document>
    </dataConfig>

第 2 步:在 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>

第 3 步:使用命令将数据从 mysql 源导入到 solr:

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

如果您想在索引到 solr 之前修改字段,那么您可以在 db-data-config.xml 中的实体上制作转换器。变压器在这里解释

于 2013-02-27T07:37:23.993 回答
3

我也有同样的问题,很难找到简单的教程。无论如何,我找到了以下教程,它对我很有用。http://lasithtechavenue.blogspot.com/2013/11/crawling-mysql-database-with-apache-solr.html

如果我简要说明步骤。

  1. 在 solr/collection1/conf 上创建一个配置文件,并在其上添加数据库信息和表列信息。

  2. 从 solr/collection1/conf/solrconfgig.xml 指向该配置文件

  3. 将未知字段添加到架构

  4. 添加dataimport和mysql相关依赖

于 2013-11-25T04:57:14.240 回答
2

你可以参考http://wiki.apache.org/solr/DataImportHandler#Oracle_Example,配置你的数据源,配置你的data-config.xml

于 2013-02-26T08:49:28.823 回答
1

我过去所做的只是创建一个索引脚本。该脚本作为夜间进程运行,提取您要添加到搜索索引的 mySQL 数据,并指定 solr 显示相关搜索结果所需的所有信息。

此外,您可以在数据库更新时添加索引项,例如,如果创建了新用户,则将一些代码添加到插入新索引项的注册脚本中。

它非常快速和容易,solr 文档非常好。

http://lucene.apache.org/solr/4_1_0/tutorial.html

希望这可以帮助。

于 2013-02-26T08:46:39.800 回答