我正在尝试使用Solr 4.0的Data Importer从MSSql数据库导入数据到solr。 不幸的是,我无法做到这一点。我们没有在日志中收到错误。当我运行完全导入时,它会不断执行数据导入命令,并且不会停止。在delta导入中,它会在几秒钟后停止,但它也不会导入任何内容。
以下是我的配置。请告知我是否正确。
数据-config.xml中
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource" name="ds1"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver:localhost;databaseName=temp1"
user="user1"
password="123456"
readOnly="true" />
<document>
<entity name="Product" pk="Id" query="select Id,Name from Product">
<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">data-config.xml</str>
</lst>
</requestHandler>
Schema.xml的
<fields>
<field name="Id" type="int" indexed="true" stored="true" required="true" />
<field name="Name" type="text" indexed="true" stored="true" required="false" />
<field name="_version_" type="long" indexed="true" stored="true"/>
</fields>
<uniqueKey>Id</uniqueKey>
<defaultSearchField>Name</defaultSearchField>
我正在运行以下查询:
http://localhost:8983/solr/testDataImport/dataimport?command=delta-import
请告诉我这里出了什么问题。 我已将以下库添加到我的core \ lib目录中。
答案 0 :(得分:2)
我认为delta-import默认不提交。请尝试请求:
http://localhost:8983/solr/testDataImport/dataimport?command=delta-import&commit=true
答案 1 :(得分:0)
我得到了同样的错误。可能的解决方案是
我在solrconfig.xml文件中添加了以下代码行
<lib dir="../../../contrib/dataimporthandler/lib/" regex=".*\.jar" />
<lib dir="../../../dist/" regex="apache-solr-dataimporthandler-\d.*\.jar" />
确保你的dist文件夹中的apache-solr-dataimporthandler-4.0.jar和apache-solr-dataimporthandler-extras-4.0.jar文件正确无误。
不要忘记重启tomcat服务器。
有关详细信息,请查看以下问题链接。
DIH(Data Import Handler) for xml files is not working in Solr4