0

如何获取 SOLR 索引中的空字段?我正在使用 solr 7.2.0

我正在使用无模式 SOLR 尝试将所有内容索引为字符串,但对于具有空字段的文件,这些字段不会被索引。有没有办法让他们出现?

col1,col2,col3
a,,1
d,e,
g,h,3

例如第 1 列显示为

{
"col1":"a",
"col3":"1",
}

我也试图让 col2 出现。在我的 solrconfig.xml 我有这个

  <dynamicField name="*" type="text_general" indexed="true" stored="true" required="true" default="" />

我从我的配置中删除了任何删除空白处理器的痕迹。我已经多次重新加载和删除/重新创建集合。有解决方案吗?

4

2 回答 2

0

也许像这样预处理你的 csv 文件:

s/,,/, ,/g

也就是说,在两个逗号之间添加一个空格(尽管您必须以不同的方式专门处理最后一个值,但有一个正则表达式)。

然后再试一次。现在 solr 正在将值读取为不存在,使其成为一个空间有更多的机会通过,并且不会改变搜索结果(如果你没有一些疯狂的分析链)

于 2018-08-04T08:36:34.450 回答
0

CSV 导入模块有自己的选项来保留空字段 - f.<field name>.keepEmpty=true.

如果您不提供该选项,CSV 处理程序将永远不会将空字段值提供给索引过程的下一步。

给予f.col2.keepEmpty=True作为 URL 参数至少应该给你一个更好的起点。

于 2018-08-04T17:32:08.890 回答