Solr 上的索引数据包含一些具有空值的字段。当我运行q=*:*
它时,它不包括具有空值的字段。查询时我需要传递什么参数以获取结果中具有空值的字段。
编辑:我正在使用 csv 文件索引数据,文件中的条目如下:
id, dob, name
1,,name1
2,,name2
现在,当我搜索前 10 条记录时,我只得到两个字段。即使没有为此存储任何值,我也想获取所有字段。
Solr 上的索引数据包含一些具有空值的字段。当我运行q=*:*
它时,它不包括具有空值的字段。查询时我需要传递什么参数以获取结果中具有空值的字段。
编辑:我正在使用 csv 文件索引数据,文件中的条目如下:
id, dob, name
1,,name1
2,,name2
现在,当我搜索前 10 条记录时,我只得到两个字段。即使没有为此存储任何值,我也想获取所有字段。
如果一个项目没有一条数据,则 solr 不会存储该字段。您应该能够通过设置字段属性 required="True" default="" 来强制存储空字符串。
使用查询添加wt=csv
,您可以导出格式良好的 CSV 文件
指定您需要使用的字段fl=
例子:
select?fl=id,foo,bar&indent=on&q=field:value&stored=true&rows=1000&start=0&wt=json
字段应该有stored="true"
交叉检查有关dob
字段的 schema.xml 文件。它应该存储=“真”
<field name="dob" type="text_general" indexed="true" stored="true"/>
重新索引文档并再次查询,它可以工作。
希望这有帮助
你是什么意思空字段?这些字段是否设置为indexed=true
?当您索引这些字段时,您是否将空格设置为数据?看起来你甚至没有向这个变量发送模板空白数据,这就是它发生的原因。例如,如果我以这种格式发送数据{"id":"change.me","title":" "}
,我的标题字段为空,它会被索引。但如果你尝试发送这样的数据{"id":"change.me","title":}
,它将在 solr 中发送错误。