2014-11-21 92 views
0

我在Solr中使用方面,我有每個包含多個方面的方面組的概念。Solr中的方面組 - 這是可能的在一個查詢

說我有這樣

Product Type 
- Chairs (50) 
- Tables (20) 
- Mirrors (5) 

Color 
- Yellow (5) 
- Black (50) 
- Red (10) 
- Orange (10) 

I的結構具有一個或小面之間的小面組內和關係組之間關係的AND。

所以,如果我選擇Chairs作爲一個方面,我會得到50個產品。使用Solr的標準刻面(並假設每一個產品都能有一個確切的產品類型和一個色彩),它現在會給:

Product Type 
- Chairs (50) 
- Tables (0) 
- Mirrors (0) 

Color 
- Yellow (5) 
- Black (30) 
- Red (5) 
- Orange (10) 

不過,我真正想要的是產品型號逗留內的小計數同樣的也會反映如果其中一個被選中會發生什麼。

這可以用Solr在一個查詢中完成嗎?

回答

1

這可以在創建構面時實施using tagged filters and then excluding them

從引用的頁面:

要實現對文檔類型多選擇方面,一個GUI可能希望仍然顯示其他文檔類型值及其相關聯的計數,彷彿文檔類型:PDF約束了不尚未得到應用。例如:

=== Document Type === 
    [ ] Word (42) 
    [x] PDF (96) 
    [ ] Excel(11) 
    [ ] HTML (63) 

要返回的直接約束的doctype,並排除那些過濾器上的doctype刻面時,當前沒有選擇的doctype值,標籤過濾器計數。

q=mainquery&fq=status:public&fq={!tag=dt}doctype:pdf&facet=on&facet.field={!ex=dt}doctype 

篩選排除支持所有類型的小面。標籤和ex本地參數都可以通過用逗號分隔來指定多個值。

+0

美麗。謝謝! – AndersDaniel 2014-11-24 13:06:17