我想使用Java在Solr中运行dataimport。我已经浏览了链接Solrj full-import not working,他们刚刚给出了如何从Java运行完整导入命令,在其他一些链接中我发现了如何查询Solr索引数据,但实际上我的要求是,对于数据导入我们写一个如下的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test_db"
user="root"
password="cloudera"/>
<document>
<entity name="emp"
query="select id,name from emp">
<field column="id" name="id"/>
<field column="name" name="name"/>
</entity>
</document>
</dataConfig>
以及我们将在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>
但是我的要求是,我不想像上面那样配置任何XML文件,只是我想从Java中完成所有这些,所以我需要设置我在上面的XML中给出的所有配置来自java代码本身,即下面的内容
params.set("Datasource","JdbcDataSource")
params.set("driver","com.mysql.jdbc.Driver")
params.set("url","jdbc:mysql://localhost:3306/test_db")
params.set("user","cloudera")
params.set("password","cloudera"),etc.
答案 0 :(得分:0)
在这里,如果设置另一个参数,则可以将整个XML作为字符串传递并执行配置:
params.set("dataConfig", <the data-import xml as string>);
我参加聚会很晚,但是如果有人在寻找解决类似问题的方法,这可能会有所帮助。
此外,我还要提及这篇How to do Solr Data import (i.e from RDBMS) using Java API?帖子。