zoukankan      html  css  js  c++  java
  • Solr自动生成ID

    在Solr中,每一个索引,都要有一个唯一的ID,类似于关系型数据库表中的主键。为了方便创建索引,需要配置自动生成的ID,即UUID。

    一、配置schema.xml文件

    添加uuid字段类型,修改字段id的类型。

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

    二、配置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">tika-data-config.xml</str>
          <str name="update.chain">uuid</str>    
       </lst>
    </requestHandler>
    
    <requestHandler name="/update" class="solr.UpdateRequestHandler">
           <lst name="defaults">
            <str name="update.chain">uuid</str>
           </lst>  
    </requestHandler>
    
      <!-- for back compat with clients using /update/json and /update/csv -->  
      <requestHandler name="/update/json" class="solr.JsonUpdateRequestHandler">
            <lst name="defaults">
             <str name="stream.contentType">application/json</str>
             <str name="update.chain">uuid</str>
            </lst>
      </requestHandler>
      <requestHandler name="/update/csv" class="solr.CSVRequestHandler">
            <lst name="defaults">
             <str name="stream.contentType">application/csv</str>
             <str name="update.chain">uuid</str>
            </lst>
      </requestHandler>
    
      <requestHandler name="/update/extract"
                      startup="lazy"
                      class="solr.extraction.ExtractingRequestHandler" >
        <lst name="defaults">
          <str name="xpath">/xhtml:html/xhtml:body/descendant:node()</str>
          <str name="capture">content</str>
          <str name="fmap.meta">attr_meta_</str>
          <str name="uprefix">attr_</str>
          <str name="lowernames">true</str>
          <str name="update.chain">uuid</str>
        </lst>
    </requestHandler>
    复制代码

    经过以上配置之后,在进行索引的时候,就不需要指定ID了,Solr可自动生成ID字符串。

  • 相关阅读:
    【转】CUDA5/CentOS6.4
    【转】centos 6.4 samba 安装配置
    【转】Install MATLAB 2013a on CentOS 6.4 x64 with mode silent
    【转】Getting xrdp to work on CentOS 6.4
    【VLFeat】使用matlab版本计算HOG
    Unofficial Windows Binaries for Python Extension Packages
    March 06th, 2018 Week 10th Tuesday
    March 05th, 2018 Week 10th Monday
    March 04th, 2018 Week 10th Sunday
    March 03rd, 2018 Week 9th Saturday
  • 原文地址:https://www.cnblogs.com/seaspring/p/5950287.html
Copyright © 2011-2022 走看看