上一次介绍设置collocation的主键为uuid,只是为了索引文件使用,那么今天也有朋友加群说如果只用来做主键来记录日志等数据的时候,该如何配置呢?其实也是很简单的。
一、在solrconfig.xml中新增两段配置
1.在以下代码:
<requestHandler name="/updauuidte/extract"
startup="lazy"
class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
<str name="lowernames">true</str>
<str name="fmap.meta">ignored_</str>
<str name="fmap.content">_text_</str>
</lst>
</requestHandler>
的前一面添加如下配置:
<requestHandler name="/update" class="solr.UpdateRequestHandler">
<!-- See below for information on defining
updateRequestProcessorChains that can be used by name
on each Update Request
-->
<lst name="defaults">
<str name="update.chain">uuid</str>
</lst>
</requestHandler>
在updateRequestProcessorChain标签的上面,添加如下代码:
<updateRequestProcessorChain name="uuid">
<processor class="solr.UUIDUpdateProcessorFactory">
<str name="fieldName">uuid</str>
</processor>
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
二、修改manage-schema
修改field的类型为uuid
<field name="uuid" type="uuid" indexed="true" stored="true" required="true" multiValued="false" />
修改主键为uuid:
<uniqueKey>uuid</uniqueKey>
添加uuid类型:
<fieldType name="uuid" class="solr.UUIDField" indexed="true" />
然后上传到zookeeper中,并且创建collection:
/data/soft/solr/bin/solr create -c uuidconn1 -d /data/solr/config-files/uuidconfigs -s 1 -rf 2 -n uuidconn1