<?xml version="1.0"?>
<dataConfig>
<dataSource name="MyMongo" type="MongoDataSource" database="Test" />
<document name="import">
<!-- if query="" then it imports everything -->
<entity processor="MongoEntityProcessor"
query="{Name:'Rahul'}"
collection="sample"
datasource="MyMongo"
transformer="MongoMapperTransformer" name="sample_entity">
<!-- If mongoField name and the field declared in schema.xml are same than no need to declare below.
If not same than you have to refer the mongoField to field in schema.xml
( Ex: mongoField="EmpNumber" to name="EmployeeNumber"). -->
<field column="_id" name="id"/>
<field column="EmpNumber" name="EmployeeNumber" mongoField="EmpNumber"/>
</entity>
</document>
</dataConfig>
3条答案
按热度按时间pengsaosao1#
迟来的回答,然而认为人们可能会发现它有用。
下面是使用DataImportHandler将数据从mongodb导入Solr 4.7.0的步骤。
步骤1:
假设您的Mongodb具有以下数据库和集合
sample
集合包含以下文档步骤2:
在您的solrhome文件夹中创建一个
lib
文件夹(其中包含bin
和collection1
文件夹)添加以下jar文件到
lib
文件夹。您可以从here下载solr-mongo-importer!步骤3:
在schema.xml中声明Solr字段(假设默认情况下已经定义了id)
在
<fields> </fields>
标记内的schema.xml中添加以下字段。步骤4:
通过在
<config> </config>
标记内添加以下代码,在solrconfig.xml中声明数据配置文件。第五步:
在路径collection1\conf\中创建一个data-config.xml文件(默认情况下保存solrconfig.xml和schema.xml)
data-config.xml
第六步:
假设solr(我使用的是8080端口)和mongodb正在运行,在浏览器中打开下面的链接http://localhost:8080/solr/dataimport?command=full-import,以便将数据从mongodb导入到solr。
导入的字段是_id、姓名和雇员编号(MongoDB),如id、姓名和雇员编号(Solr)。
您可以在
http://localhost:8080/solr/query?q=*
中看到结果waxmsbnn2#
您可以尝试使用SolrMongoImporter,它要求您将2个库导入到您的solr项目中并创建一个data-config.xml。
如果您没有以下库,则可能需要在solrconfig.xml中导入这些库
ogsagwnx3#
如果您已执行上述所有操作,但仍面临问题:检查是否在不同的位置有多个jar。
也就是说
如果是这样,请从除了您在
solrconfig.xml
文件中配置的位置之外的所有位置删除jar文件。