如何为无模式 collection 索引 SOLR 中的空字段?

How do I get empty fields in SOLR indexed for a schemaless collection?

如何为 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="" />

并且我从我的配置中删除了 remove-blank 处理器的任何痕迹。我已经多次 collection 重新加载和 deleted/recreated。有解决办法吗?

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

s/,,/, ,/g

也就是说,在两个逗号之间添加一个 space(尽管您必须特别处理最后一个值,但有一个正则表达式)。

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

CSV 导入模块 has its own option 保留空白字段 - f.<field name>.keepEmpty=true

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

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