2010-06-05 68 views
4

我使用Solr進行搜索,並且最近開始使用faceting來允許用戶縮小搜索範圍。但是,一旦用戶按其中一個方面進行過濾,其他過濾器選項將不再在方面結果中返回。這是預期的,但不是我想要的。Solr - 檢索未篩選版本的查詢的方面數

是否有某種方式可以返回facet字段並計算未過濾的查詢,而無需執行額外的搜索?例如,如果用戶按類別過濾(通過選擇特定類別),我希望他們仍然可以選擇其他類別之一,而不必先清除過濾器。 (也就是說,所有類別和它們的計數都應該由Solr返回,以便我可以將它們與篩選查詢集合一起包含在頁面中。)

我懷疑這可能是不可能的。如果不是,我可以在搜索時做一個額外的查詢,這會省去過濾器(並返回0行),如a previous StackOverflow question中所述。但我想我會問:有沒有人知道沒有多個查詢的方式來做到這一點?

回答

8

這被稱爲多選分面,並且在分面時可以使用特定的LocalParams排除濾鏡。詳情請參閱"Tagging and excluding Filters"

+1

+1這裏有兩個其他有趣的鏈接:http://www.craftyfella.com/2010/01/faceting-and-multifaceting-syntax-in.html http://wiki.apache.org/solr/LocalParams – Karussell 2010-06-07 12:21:53