2016-07-11 41 views
0

我需要在solr集合中創建多個唯一鍵,並回答相關問題Solr Composite Unique key from existing fields in schema。但我需要這個鍵是可讀的,現在我看到了哈希。我加入到:Solr:創建連接的唯一鍵

solrconfig.xml

<config> 
    <!-- Here is standart config --> 
    ... 
    <!-- My updateRequestProcessorChain --> 
    <updateRequestProcessorChain name="inn-unique-key"> 
     <processor class="solr.CloneFieldUpdateProcessorFactory"> 
      <str name="source">inn</str> 
      <str name="source">source</str> 
      <str name="source">kpp</str> 
      <str name="dest">id</str> 
     </processor> 
     <processor class="solr.ConcatFieldUpdateProcessorFactory"> 
      <str name="fieldName">id</str> 
      <str name="delimiter">-</str> 
     </processor> 
     <processor class="solr.RunUpdateProcessorFactory" /> 
    </updateRequestProcessorChain> 
</config> 

schema.xml - 內<schema>標籤:

<requestHandler name="/update" class="solr.UpdateRequestHandler"> 
    <lst name="defaults"> 
     <str name="update.chain">inn-unique-key</str> 
    </lst> 
</requestHandler> 
<field name="inn" type="long" required="true" indexed="true" stored="true" /> 
<field name="kpp" type="long" default="0" required="false" indexed="true" stored="true" /> 
<field name="source" type="string" indexed="true" stored="true" required="true" /> 

當我嘗試添加記錄,例如:

{ 
    "inn": 764575576, 
    "kpp": 123, 
    "source": "self" 
} 

我看到了「id」字段中的散列「6dab8c2b-e5e3-4d5a-a17a-759da05a3e64」。請幫助我,怎麼看「764575576​​-self-123」呢?

回答

0

我發現我的錯誤。 updateRequestProcessorChainrequestHandler標籤必須位於solrconfig.xml中!不在schema.xml中