2016-07-11 3 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" 
} 

Я вижу hash "6dab8c2b-e5e3-4d5a-a17a-759da05a3e64" в поле "id". Помогите мне, пожалуйста, как увидеть «764575576-self-123» вместо этого?

ответ

0

Я нашел свою ошибку. updateRequestProcessorChain и requestHandler теги должны быть в файле solrconfig.xml как! Не в schema.xml

Смежные вопросы