【问题标题】:Solr 4 - missing required field: uuidSolr 4 - 缺少必填字段:uuid
【发布时间】:2013-05-30 15:24:20
【问题描述】:

我在使用 Solr4 中的 dataImportHandler 生成 UUID 时遇到问题。我正在尝试从现有的 MySQL 数据库导入。

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

然后在&lt;types&gt;

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

每当我运行更新时,都会插入一些文档 ok ,购买很多返回:

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

【问题讨论】:

    标签: apache solr lucene solr4 dih


    【解决方案1】:

    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>
    

    【讨论】:

    • 完美。只有我在为 Solr 文档格式和每个示例的放置位置而苦苦挣扎吗? :)
    • @Jayendra 我尝试合并您建议的更改,但它仍然给我一个异常,例如:org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: Error initializing QueryElevationComponent .请尝试帮助我。
    猜你喜欢
    • 1970-01-01
    • 2018-05-22
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多