【问题标题】:Solr: ignore or modify fields with incorrect type or other type errorsSolr:忽略或修改类型不正确或其他类型错误的字段
【发布时间】:2016-12-21 07:30:31
【问题描述】:

我正在使用post 工具将数十万个文档读入 Solr 实例。我发现在这个语料库中,大约 150 个文档由于某种类型的模式类型错误而失败,例如我将“created”字段定义为日期字段,但一些文档在该字段中的日期值无效。

与其更改架构并重新索引所有文档(这个过程大约需要 20 小时),就我的目的而言,通过忽略“created”字段将失败的文档读取到索引中就可以了。

如何配置 Solr 以提取它收到的文档并简单地从其中删除 created 字段?更好的是,我如何告诉 Solr 简单地删除未通过架构验证的 any 字段?

【问题讨论】:

    标签: solr


    【解决方案1】:

    有两种可能:

    1) 忽略字段

    要忽略相关字段,请使用fmap parameter 将其映射到忽略的字段。例如:

    bin/post -c mycollection -params \
        "fmap.created=ignored_created" files...
    

    利用架构中ignored 类型的动态ignored_* 字段,例如:

    <dynamicField name="ignored_*" type="ignored" multiValued="true"/>
    

    2) 更改格式

    如果信息有效但格式不正确,请使用更新处理器解析格式或修改输入。例如,要解析异常格式的日期,请将格式添加到 solrconfig.xml 中的 solr.ParseDateFieldUpdateProcessorFactory

    要修改输入,请使用RegexReplaceProcessorFactory

    【讨论】:

      猜你喜欢
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-21
      • 2013-09-16
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      相关资源
      最近更新 更多