Indexing 如何在SOLR中为无模式集合索引空字段?
如何在SOLR中获取空字段?我正在使用Solr7.2.0 我使用无模式SOLR尝试将所有内容作为字符串索引,但对于具有空字段的文件,这些字段不会被索引。有没有办法让他们出现Indexing 如何在SOLR中为无模式集合索引空字段?,indexing,solr,field,schemaless,Indexing,Solr,Field,Schemaless,如何在SOLR中获取空字段?我正在使用Solr7.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="tru
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="" />
我已经从配置中删除了删除空白处理器的任何痕迹。我已多次通过集合重新加载和删除/重新创建。有解决方案吗?可能会像这样预处理您的csv文件:
s/,,/, ,/g
也就是说,在两个逗号之间添加一个空格(您必须专门处理最后一个不同的值,不过有一个正则表达式)
然后再试一次。现在solr正在读取不存在的值,使其成为一个空间有更多的机会通过,并且不会更改搜索结果(如果您没有一些疯狂的分析链)CSV导入模块以保留空字段-f..keepmpty=true
如果不提供该选项,CSV处理程序将永远不会为索引过程的下一步提供空字段值
将
f.col2.keepmpty=True
作为URL参数,至少可以为您提供一个更好的起点。由于我的集合是无模式的,是否有方法将此应用于所有列而不是仅选定列?请尝试只f.keepmpty
或只keepmpty
。通常字段部分是可选的,文档中也有这样的说明——这个参数可以是全局的,也可以是每个字段。