lucene - Solr:没有明确设置默认值的字段的默认值是什么?

标签 lucene solr

我正在使用 Solr 的 schema.xml,并且我知道我可以使用“默认”属性来指定一个默认值,如果未提供给定字段的值,则将使用该默认值。但是,如果我选择不设置 'default' 属性,那么 Solr 将回退到哪个默认值?

我认为我用于给定字段的字段类型将具有将使用的默认值,但我没有成功找到有关此的任何详细信息。或者,我认为不提供值并且不有效地设置默认值就好像特定文档不存在该字段一样。

但是,我不确定,我想知道:-)

更新 1

据我所知,如果没有设置默认值并且没有为给定字段提供值,Solr 只会抛出错误并返回错误 400“错误请求”。换句话说,Solr 似乎不会应用任何“后备”默认值,以防万一没有提供任何值并且没有在 schema.xml 中设置默认值。

更新 2

我上面的更新似乎是错误的。如果没有为字段提供值并且没有为该字段设置默认值,则 Solr 只会将该字段视为该特定文档不存在该字段。当然,如果该字段是必需的,则此行为不适用。

最佳答案

根据我的经验,如果您在加载文档时未指定字段,那么 Solr 在索引文档时将忽略该字段,并且您的语句“不提供值且未有效设置默认值就好像该字段不存在一样对于特定文件”是正确的。问题是您只需要指定要为给定文档添加的字段。查看 Solr 分发版附带的 xml 示例文档,以查看包含不同字段集的文件示例。

关于lucene - Solr:没有明确设置默认值的字段的默认值是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7332122/

相关文章:

solr - 使用 Solr 处理变音符号和重音符号

Solr 精确匹配提升 减少结果

solr - 获取 SolrQuery 完整查询字符串

java - 如何用 "like"算子查询lucene?

java - 向 Luke 添加自定义分析器

Lucene 7.5.0如何将小写扩展项设置为true

c# - 如何将 Spatial Solr 添加到 Solrnet 查询

java - 如何使用 OR 合并两个 Lucene 查询?

ruby - 太阳黑子/Solr : indexing a time field results in NumberFormatException

python - 将 REST API 的 JSON 响应作为输入数据传递到 APACHE SOLR 中