solr-DIH:生成标识值
我需要将数据库数据导入solr 我使用的是solr-DIH:生成标识值,solr,dataimporthandler,Solr,Dataimporthandler,我需要将数据库数据导入solr 我使用的是数据配置.xml: <dataConfig> <dataSource driver="org.hsqldb.jdbcDriver" url="jdbc:sqlserver://192.168.122.1;databaseName=giac_txt" user="sa" password="StR0nGp4ss."/> <docume
数据配置.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>
<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是默认生成的?uuid
是通用唯一标识符的缩写。如果没有插入solr中的文档id,则可以使用if-it
当您需要更新或删除文档时,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>
身份证件
表anc_uniciac中的数据是否有id字段?如果是,则将相同的映射到id字段。如果数据库表中没有id字段,则可以通过在solrconfig.xml中配置UUIDUpdateProcessorFactory来生成它。我是否需要将此链链接到我的updatehandler?您可以将其添加到更新处理器列表下…其中提到了所有更新处理器
<updateRequestProcessorChain>
<processor class="solr.UUIDUpdateProcessorFactory">
<str name="fieldName">id</str>
</processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>