簡體   English   中英

特定字段值的 Solr 方面計數

[英]Solr facet counts for specific field values

Solr 為我創建多選方面計數,如下所述:

https://web.archive.org/web/20131202095639/http://wiki.apache.org/solr/SimpleFacetParameters#Multi-Select_Faceting_and_LocalParams

我還有各種預定義的搜索,允許用戶瀏覽目錄。 這是一個這樣的示例及其查詢參數:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM