[英]Solr facet counts for specific field values
Solr 為我創建多選方面計數,如下所述:
我還有各種預定義的搜索,允許用戶瀏覽目錄。 這是一個這樣的示例及其查詢參數:
q=*:*
fq={!tag=g}genre:western
facet=on
facet.field={!ex=g}genre
facet.mincount=1
facet.limit=50
通過此搜索,我可以在構面列表中獲得多達 50 個流派值。 然后我檢查並標記用戶選擇了哪些值; 在這種情況下,西方。 這很有效,除非西方被推出前 50 名。所以我手動將其添加到列表中,使總數為 51。這樣用戶就可以看到它確實被選中了。 問題是我必須將西方的計數留空,因為我不知道。
在這種情況下,有沒有辦法獲得特定方面值(例如西方)的計數? 或者另一種方法來解決這個問題?
我正在使用 Solr 4.7.0。
Solr 允許您使用facet.query
參數創建基於查詢的方面計數。 創建基於構面字段值的過濾器查詢 ( fq
) 時,我現在創建了相應的構面查詢:
facet.query={!ex=g}genre:western
並將其添加到我的其余參數中:
q=*:*
fq={!tag=g}genre:western
facet=on
facet.field={!ex=g}genre
facet.query={!ex=g}genre:western
facet.mincount=1
facet.limit=50
現在將在 solr 響應中填充 facet_queries 對象:
{
...
"facet_counts": {
"facet_queries": {
"{!ex=g}genre:western": 7
},
...
},
...
}
不管facet_fields
對象中返回什么,我現在都可以保證有一個genre:western
的構面計數genre:western
。 通過一些解析,可以從構面查詢中提取構面字段計數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.