Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Indexing 如何在SOLR中为无模式集合索引空字段?_Indexing_Solr_Field_Schemaless - Fatal编程技术网

Indexing 如何在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

如何在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="true" stored="true" required="true" default="" />


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

可能会像这样预处理您的csv文件:

s/,,/, ,/g
也就是说,在两个逗号之间添加一个空格(您必须专门处理最后一个不同的值,不过有一个正则表达式)

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

CSV导入模块以保留空字段-
f..keepmpty=true

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


f.col2.keepmpty=True
作为URL参数,至少可以为您提供一个更好的起点。

由于我的集合是无模式的,是否有方法将此应用于所有列而不是仅选定列?请尝试只
f.keepmpty
或只
keepmpty
。通常字段部分是可选的,文档中也有这样的说明——这个参数可以是全局的,也可以是每个字段。