我想将Apache Solr Search Server与mysql服务器连接,以便我可以从我的数据库中获取过滤后的数据并将其转换为JSON或XML。
答案 0 :(得分:11)
第1步: 创建一个新的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的/分贝/ dataimport命令=全进口
如果要在索引到solr之前修改字段,则可以在db-data-config.xml中的实体上创建变换器。Transformers are explained here
答案 1 :(得分:2)
您可以参考http://wiki.apache.org/solr/DataImportHandler#Oracle_Example,配置您的数据源,配置您的data-config.xml
答案 2 :(得分:2)
我也有同样的问题,要找到这个简单的教程并不容易。无论如何,我发现以下教程,它对我有用。 http://lasithtechavenue.blogspot.com/2013/11/crawling-mysql-database-with-apache-solr.html
如果我简要解释一下步骤。
在solr / collection1 / conf上创建一个配置文件,并在其上添加数据库信息和表列信息。
从solr / collection1 / conf / solrconfgig.xml指出配置文件
将未知字段添加到架构
添加dataimport和mysql相关的依赖项
答案 3 :(得分:1)
我过去的方式就是创建一个索引脚本。该脚本作为夜间进程运行,并提取要添加到搜索索引的mySQL数据,并指定solr显示相关搜索结果所需的所有信息。
此外,您可以在更新数据库时添加索引项,例如,如果创建了新用户,请将一些代码添加到插入新索引项的寄存器脚本中。
这很简单易行,solr文档非常好。
http://lucene.apache.org/solr/4_1_0/tutorial.html
希望这有帮助。