2013-06-04 36 views
6

Tôi đang gặp sự cố khi tạo UUID bằng cách sử dụng dataImportHandler trong Solr4. Tôi đang cố nhập từ cơ sở dữ liệu MySQL hiện có.Solr 4 - trường bắt buộc bị thiếu: uuid

schema.xml My chứa:

<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> 

và sau đó trong <types>

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

My Solrconfig.xml chứa:

<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> 

Bất cứ khi nào tôi chạy bản cập nhật , s docs ome được chèn ok, mua nhiều trở lại với:

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

Trả lời

8

Going by the dụ tại link nó phải được

<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

Perfect. Có phải chỉ mình tôi đang đấu tranh với định dạng tài liệu Solr và mỗi ví dụ nên được đặt ở đâu? :) – Kikimac

+2

@Kikimac: nó là MỌI NGƯỜI !!! – jsh

+0

@Jayendra Tôi đã cố gắng kết hợp các thay đổi được đề xuất bởi bạn nhưng vẫn mang lại cho tôi một ngoại lệ như: org.apache.solr.common.SolrException: org.apache.solr.common.SolrException: Lỗi khi khởi tạo QueryElevationComponent. Hãy cố gắng giúp tôi. –

Các vấn đề liên quan