2013-06-04 3 views
6

У меня возникают проблемы с созданием UUID с использованием dataImportHandler в Solr4. Im пытается импортировать из существующей базы данных MySQL.Solr 4 - отсутствует требуемое поле: uuid

Мой schema.xml содержит:

<fields> 

    <field name="uuid" type="uuid" indexed="true" stored="true" required="true" /> 

    <field name="id" type="string" indexed="true" stored="true" required="true"/> 
    <field name="address" type="text_general" indexed="true" stored="true"/> 
    <field name="city" type="text_general" indexed="true" stored="true" /> 
    <field name="county" type="string" indexed="true" stored="true" /> 
    <field name="lat" type="text_general" indexed="true" stored="true" /> 
    <field name="lng" type="text_general" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" /> 
    <field name="price" type="float" indexed="true" stored="true"/> 
    <field name="bedrooms" type="float" indexed="true" stored="true" /> 
    <field name="image" type="string" indexed="true" stored="true"/> 

    <field name="region" type="location_rpt" indexed="true" stored="true" />  

    <defaultSearchField>address</defaultSearchField> 

    <field name="_version_" type="long" indexed="true" stored="true"/> 
    <field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/> 

</fields> 

<uniqueKey>uuid</uniqueKey> 

, а затем в <types>

<fieldType name="uuid" class="solr.UUIDField" indexed="true" /> 

Мои Solrconfig.xml содержит:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">   

    <updateRequestProcessorChain name="uuid"> 
     <processor class="solr.UUIDUpdateProcessorFactory"> 
      <str name="fieldName">uuid</str> 
     </processor> 
     <processor class="solr.RunUpdateProcessorFactory" /> 
    </updateRequestProcessorChain> 

<lst name="defaults"> 
    <str name="config">data-config.xml</str> 
</lst> 

Всякий раз, когда я запускаю обновление , s екоторые документы вставлены хорошо, купить много возвращения с:

org.apache.solr.common.SolrException: [doc=204] missing required field: uuid 

ответ

8

Идущих на примере в link должен быть

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    ......... 
    <lst name="defaults"> 
     <str name="config">data-config.xml</str> 
     <str name="update.chain">uuid</str> 
    </lst> 
</requestHandler> 

<updateRequestProcessorChain name="uuid"> 
    <processor class="solr.UUIDUpdateProcessorFactory"> 
     <str name="fieldName">uuid</str> 
    </processor> 
    <processor class="solr.RunUpdateProcessorFactory" /> 
</updateRequestProcessorChain> 
+3

Совершенными. Является ли только я, который борется с форматированием документов Solr и где должен быть размещен каждый пример? :) – Kikimac

+2

@Kikimac: это КАЖДЫЙ !!! – jsh

+0

@Jayendra Я попытался включить изменения, предложенные вами, но все же это дает мне исключение: org.apache.solr.common.SolrException: org.apache.solr.common.SolrException: ошибка инициализации QueryElevationComponent. Пожалуйста, попробуй помочь мне. –