solr - Solr json.facet 术语类型不适用于多值字符串字段
问题描述
我在 Solr 中有一个多值字段,尝试terms
为该字段返回 facet 没有产生任何结果。
<fieldType name="industries_text"
class="solr.TextField" positionIncrementGap="100"
multiValued="true">
<field name="industries" type="industries_text"
sortMissingLast="true" indexed="true" stored="true"
multiValued="true" uninvertible="false"
omitPositions="true" />
"json.facet": {
industries: {
type: "terms",
field: "industries",
missing: true,
}
}
这将返回:
"industries": {
"missing": {
"count": 0
},
"buckets": []
}
然而,当我查询所有文档时,都会industries: ["industry1", "industry2"]
返回,所以它们被索引了。
解决方案
您明确告诉 Solr 您不希望该字段为 uninverted。这是能够创建构面的要求。
切换uninvertible="false"
到uninvertible="true"
或不使用它以使其成为默认值 ( true
)。
您想设置uninvertible="false"
该字段是否支持 docValues 并且它们已启用。TextFields 不支持 docValues,因此如果您打算将其用于任何需要不倒置结构的操作(例如 Faceting),则它必须是不倒置的。
推荐阅读
- groovy - 我可以将一组类作为代表添加到 groovysh
- mysql - 同时处理数百个RDS mysql db
- .net - 垃圾回收期间未引用的延迟任务会被取消吗?
- vb.net - 我无法访问文件路径 vb.net
- r - 将 2 列长格式表转换为宽格式
- php - 排列数组
- android - Android Studio 中单屏结合网格、线性布局和卡片的 UI 适配器
- javascript - 如何在 SPA 中使用 Google DFA(Google Publisher Tag)?
- c++ - 删除所有字符串后如何恢复 QStringList?
- python - 元组的加入、组排序和获取模式