从SOLR索引中删除空值

时间:2018-08-16 17:35:15

标签: solr

我目前正在将来自外部来源的一些文档编入SOLR。该外部源中几乎没有在SOLR中建立索引的空元素。如何避免在SOLR中索引空值/空值。

例如

我的CSV是名称,城市,邮政编码。一些值是

Jack,Houston, 89812
,Austin,98123

在第二个值集中,我没有名字。但是,当SOLR为该文档编制索引时,它会添加{“ Name”:“”,“ City”:“ Austin”,“ Zip”:“ 98123”}。如何避免在SOLR中将“名称”作为空元素?

预先感谢

2 个答案:

答案 0 :(得分:3)

如果您需要在提交的文档到达架构之前对其进行任何预处理,那么Solr会有一个完整的UpdateRequestProcessor subsystem。您要查找的特定对象是 RemoveBlankFieldUpdateProcessorFactory ,可能与 TrimFieldUpdateProcessorFactory 结合使用。

请记住,您需要通过链(默认或显式)或通过单独的配置(显式)告诉Solr您要使用它们,所有这些都在上面的第一个链接中进行了描述。

答案 1 :(得分:0)

您可以将CSV转换为JSON,而不提供空名称,然后为JSON文件建立索引。

Solr本身仅索引得到的内容。如果它索引一个空字段,则它得到一个空字段。我想这就是CSV索引器发生的情况,只是没有留空字段。

使用JSON 可以控制。