2013-10-13 28 views
0

我試圖從具有多個方面查詢的單個查詢中排列構面。使用facet.sort參數與solr問題

但facet.order和facet.mincount不起作用。

查詢是:

facet.query=text:word1&facet.query=text:word2&facet.query=text:word3&facet=true&q=*:*&facet.mincount=50&facet.sort=count 

我與solrj

query.setQuery("*:*"); 
query.setFacet(true); 
query.setFacetSort(FacetParams.FACET_SORT_COUNT); //count 
query.setFacetMinCount(50); 
query.addFacetQuery("text:word1"); 
query.addFacetQuery("text:word2"); 
query.addFacetQuery("text:word3"); 

的反應是產生它:

...facet_counts={facet_queries={text:word1=597,text:word2=23,text:word3:1100},facet_fields={},facet_dates={},facet_ranges={}}} 

感謝。

UPDATE

似乎facet.field必須設置爲使用其他facet.mincount和facet.sort。但它隻影響facet字段中的單詞而不是方面查詢。真的嗎?任何解決方案

回答

0

是,要麼你做一個「查詢小面」(沒有額外的參數),或者具有所有參數(mincount,訂單等)

http://wiki.apache.org/solr/SimpleFacetParameters#facet

BTW,符號是一個「場小面」失蹤後q=*:*在:

facet.query =文本:字1 & facet.query =文本:單詞2 & facet.query =文本:WORD3 &面=真& q = *:* facet.m incount = 50 & facet.sort =計數

+0

是的,這是一個手工製作的例子。我錯過了&。無論如何。問題是,我可以訂購多分面查詢搜索的結果嗎? –

+0

我不知道有什麼辦法。如果你做facet.field =文字,你會按順序排列它們,但是你的文字的所有單詞...... –