如何在SOLR中为无模式集合建立索引的空字段?

时间:2018-08-03 17:07:13

标签: indexing solr field schemaless

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

,我从配置中删除了所有可删除空白处理器的痕迹。我已多次通过收藏集重新加载和删除/重新创建。有解决方案吗?

2 个答案:

答案 0 :(得分:0)

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

s/,,/, ,/g

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

然后重试。目前,solr正在将值视为不存在的值,使其成为一个空间,使其有更多机会通过它,并且不会更改搜索结果(如果您没有疯狂的分析链)

答案 1 :(得分:0)

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

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

使用f.col2.keepEmpty=True作为URL参数至少应该为您提供一个更好的起点。