您的位置:首页 > 其它

Solr6.6.0 自动生成ID

2017-07-18 00:00 295 查看
摘要: 在Solr中,每一个索引,都有一个唯一的ID,类似于关系型数据库表中的主键。为了方便创建索引,需要配置自动生成的ID(UUID)。

一、配置managed-schema

为id添加uuid字段类型

<fieldType name="uuid" class="solr.UUIDField" indexed="true" />
<field name="id" type="uuid" indexed="true" stored="true" required="true" multiValued="false" />

二、配置solrconfig.xml文件

<!-- 添加更新策略配置,调用Solr中的UUIDUpdateProcessorFactory生成全局唯一的UUID -->
<updateRequestProcessorChain name="uuid">
<processor class="solr.UUIDUpdateProcessorFactory">
<str name="fieldName">id</str>
</processor>
<processor class="solr.LogUpdateProcessorFactory" />
<processor class="solr.DistributedUpdateProcessorFactory" />
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>

配置requestHandler,保证dataimport和update操作都可以自动生成UUID

<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">db-data-config.xml</str>
<str name="update.chain">uuid</str>
</lst>
</requestHandler>

<requestHandler name="/update/extract"
startup="lazy"
class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
<str name="lowernames">true</str>
<str name="uprefix">ignored_</str>

<!-- capture link hrefs but ignore div attributes -->
<str name="captureAttr">true</str>
<str name="fmap.a">links</str>
<str name="fmap.div">ignored_</str>
<str name="update.chain">uuid</str>
</lst>
</requestHandler>

配置完之后,solr就可以自动生成ID,在进行索引的时候,就不需要指定ID了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Solr