【发布时间】:2020-10-26 08:42:17
【问题描述】:
我需要将我的数据库数据导入 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>
当我需要生成 id 时出现问题,因为我的架构需要和 id:
<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" />
默认情况下它链接到任何update:
<initParams path="/update/**">
<lst name="defaults">
<str name="update.chain">files-update-processor</str>
</lst>
</initParams>
是不是意味着默认生成了一个uuid?
【问题讨论】:
-
anc_uniciac 表中的数据是否有任何 id 字段?如果是,则将其映射到 id 字段。如果数据库表中没有 id 字段,可以通过在 solrconfig.xml 中使用 UUIDUpdateProcessorFactory 配置它来生成它