问题描述
我需要将数据库数据导入solr。
我正在使用此data-config.xml
:
<dataConfig>
<dataSource driver="org.hsqldb.jdbcDriver" url="jdbc:sqlserver://192.168.122.1;databaseName=giac_txt" user="sa" password="StR0nGp4ss."/>
<document>
<entity name="item" query="select codi_unitat,titol from anc_uniciac>
<field column="codi_unitat" name="code_l_ns"/>
<field column="titol" name="title_txt_ca" />
</entity>
</document>
</dataConfig>
<schema name="example-data-driven-schema" version="1.6">
<uniqueKey>id</uniqueKey>
...
有什么想法吗?
编辑
我已检查solrconfig.xml
:
<updateRequestProcessorChain name="files-update-processor">
<!-- UUIDUpdateProcessorFactory will generate an id if none is present in the incoming document -->
<processor class="solr.UUIDUpdateProcessorFactory" />
<initParams path="/update/**">
<lst name="defaults">
<str name="update.chain">files-update-processor</str>
</lst>
</initParams>
解决方法
UUID
是通用唯一标识符的缩写。如果您没有在solr中插入文档的ID,则可以使用它。
unique id
字段在您需要更新或删除文档时非常有用,因为在Solr中的常规搜索无法唯一地标识文档。
在solrconfig.xml
中添加以下配置。
<updateRequestProcessorChain>
<processor class="solr.UUIDUpdateProcessorFactory">
<str name="fieldName">id</str>
</processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>