美文网首页
Solr 7自学笔记二(Solr 7.5 DataImport数

Solr 7自学笔记二(Solr 7.5 DataImport数

作者: Number9527 | 来源:发表于2018-10-16 13:45 被阅读0次

问题:

Solr建索引时候可以从数据库导入数据,例如可以通过Solr DIH,也可以通过JDBC。Solr的唯一键设置导致一个问题:

    假设Mysql数据库中有两张表t1和t2,两张表都有id字段。那么,t1和t2中的id很可能出现相同的情况。此时,如果在Solr中同时导入这两张表的数据,且Solr中将id设置为唯一键(即配置<uniqueKey>id</uniqueKey> ),那么,Solr新建的索引中会对id进行去重,后导入的数据将覆盖之前导入的且id相同的数据。

解决方法:

    利用Solr自带的uuid方案。

步骤:

1. 新建一个id字段,FieldType设置为String,index=true,stored=true,multiValued=false。

    在Solr的Web UI界面中进行设置,如下图(待补充)

2. 更新core以后,managed-schema.xml文件中会新增

    <field name="id" type="string" indexed="true" stored="true"/>

3. 设置

    <uniqueKey>id</uniqueKey>

4. 重载内核,导入数据后,Solr将以id为唯一键(格式为uuid格式),且不会因为数据库中id相同导致去重问题。

我仅仅在全量更新的方式下测试,下一步测试增量更新。

相关文章

网友评论

      本文标题:Solr 7自学笔记二(Solr 7.5 DataImport数

      本文链接:https://www.haomeiwen.com/subject/ifchzftx.html