Solr自动生成ID配置

Solr基于Lucene的索引,而索引中的最基本的单元式Document,在Solr中,管理每一个Document(更新、删除、查询),基本都会用到对应的ID,类似关系数据表中的主键。但是,如果我希望Solr能够自动生成这个唯一的ID,有时候也省去了不少的工作,而只需要在Solr中进行配置即可。

下面,通过实例来说明,如何配置Solr支持的UUID。


Solr 中配置生成唯一UUID ,需要修改两个配置文件:

schema.xml
schema.xml 文件的配置内容,增加如下类型配置:
<fieldType name="uuid" class="solr.UUIDField" indexed="true" />
再增加ID字段的类型,如下所示:

<field name="id" type="uuid" indexed="true" stored="true" multiValued="false" required="true" />


这样还不够,还需要指定在更新索引的时候,使用这个更新策略,即配置一个requestHandler 元素。

solrconfig.xml
配置solrconfig.xml 文件,修改更新索引的requestHandler  配置,内容如下所示:
<requestHandler name="/update" class="solr.UpdateRequestHandler">
     <lst name="defaults">
          <str name="update.chain">dispup</str>
     </lst>
</requestHandler>
上面的update.chain就是我们实际要指定的使用UUID进行更新的策略的配置,如下所示:

<updateRequestProcessorChain name="dispup">
     <processor class="solr.UUIDUpdateProcessorFactory">
          <str name="fieldName">id</str>
     </processor>
     <processor class="solr.LogUpdateProcessorFactory" />
     <processor class="solr.DistributedUpdateProcessorFactory" />
     <processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>

经过上面两步配置,在进行索引的时候,就不需要指定Document所要求的ID了,完全有Solr自动生成这个ID字符串。

参考:

http://www.aboutyun.com/thread-7743-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值