首页 文章

是否有可能让SOLR DIH忽略具有无效纬度/经度值的文档的空间字段?

提问于
浏览
1

我试图将数据从Oracle数据库导入到SOLR索引 . Dabatase实体确实具有lat / long值,索引中的文档应具有字段位置 . 因此,data-config.xml中的相应配置是

<field column="LONGITUDE" name="long_d" />
    <field column="LAT" name="lat_d" />
    <field column="bl" name="position" template="${data.LAT},${data.LONGITUDE}"/>

其中position字段定义为

<field name="position" type="location_rpt" indexed="true" stored="true" multiValued="false"/>

在schema.xml文件中 .

我所遇到的问题是严重选择了lat和long的数据库条目的默认值999.9,DIH不接受这些值作为位置字段的导入值 .

因此,我的目的是在DB条目具有错误的默认值时简单地省略字段位置 .

我可以在DataImportHandler的配置文件中定义一些能给我想要的结果吗?

1 回答

  • 0

    您可以在两个阶段中应用更改:

    • 您可以在DIH内部使用变压器

    • 您可以使用自定义更新请求处理器(URP)链来替换或删除字段

    因此,例如,您可以使用RegexTransformer将已知的错误值替换为空白 . 如果(空白但存在的字段)导致问题,您可以在自定义链中使用RemoveBlankFields删除它们 .

相关问题