爲id添加uuid字段類型ui
<fieldType name="uuid" class="solr.UUIDField" indexed="true" /> <field name="id" type="uuid" indexed="true" stored="true" required="true" multiValued="false" />
<!-- 添加更新策略配置,調用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操做均可以自動生成UUIDcode
<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了。xml