我想将 Apache Solr 搜索服务器与 mysql 服务器连接起来,以便我可以从我的数据库中获取过滤后的数据并将其转换为 JSON 或 XML。
4 回答
第一步:新建一个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 中的实体上制作转换器。变压器在这里解释
我也有同样的问题,很难找到简单的教程。无论如何,我找到了以下教程,它对我很有用。http://lasithtechavenue.blogspot.com/2013/11/crawling-mysql-database-with-apache-solr.html
如果我简要说明步骤。
在 solr/collection1/conf 上创建一个配置文件,并在其上添加数据库信息和表列信息。
从 solr/collection1/conf/solrconfgig.xml 指向该配置文件
将未知字段添加到架构
添加dataimport和mysql相关依赖
你可以参考http://wiki.apache.org/solr/DataImportHandler#Oracle_Example,配置你的数据源,配置你的data-config.xml
我过去所做的只是创建一个索引脚本。该脚本作为夜间进程运行,提取您要添加到搜索索引的 mySQL 数据,并指定 solr 显示相关搜索结果所需的所有信息。
此外,您可以在数据库更新时添加索引项,例如,如果创建了新用户,则将一些代码添加到插入新索引项的注册脚本中。
它非常快速和容易,solr 文档非常好。
http://lucene.apache.org/solr/4_1_0/tutorial.html
希望这可以帮助。