我有一个字段,该字段可以具有一组已知的字符串值,并且为 EnumField 类型。
是否有一种方法可以强制 Solr 为其返回所有构面值? facet.mincount=0
属性仅在存在具有相应方面字段值的现有文档时才有效,但是在当前搜索中使用,例如fq。
但是,如果当前文档都没有该值,那么它根本不会显示。
考虑一下,我有一个字段type
,它被定义为一个枚举,可以有值A
和B
。假设我已经导入了此类文档:
[{
"name_s": "Doc 1",
"type": "A",
"user_s": "Foo"
}, {
"name_s": "Doc 2",
"user_s": "Bar"
}]
如果我通过用户“ Bar”使用过滤器查询在字段type
上进行构面查询,则返回的唯一构面值是计数为0的“ A”。我的目标是强制执行此操作在这种情况下(并且都具有计数0)返回值“ A”和“ B”。
答案 0 :(得分:1)
根据邮件列表,目前无法执行此操作。
答案 1 :(得分:0)
如果您只是想查找字段类型中存在的所有术语,则可以使用Solr的术语组件轻松找到它。
Doc:https://lucene.apache.org/solr/guide/6_6/the-terms-component.html
Doc适用于6.6版,您可以相应地更改其当前正在使用的版本。
以下是示例网址:http://localhost:8983/solr/collection/terms?terms.fl=type
答案 2 :(得分:-1)
您可以使用tagging and excluding filters来实现:
您首先标记过滤器查询:fq={!tag=my_tag}user_s:Bar
然后在构面中使用排除标记:facet.field={!ex=my_tag}type