facer.sort参数与solr的问题

时间:2013-10-13 15:13:36

标签: solr solrj

我正在尝试使用多个构面查询从单个查询中对构面进行排序。

但是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={}}}

感谢。

更新

似乎必须将facet.field设置为使用另一个facet.mincount和facet.sort。但它只影响facet字段中的单词而不影响facet查询。真的吗?任何解决方案?

1 个答案:

答案 0 :(得分:0)

是的,要么你做一个“查询分面”(没有额外的参数),要么是“字段分面”,它有所有参数(小计,订单等)

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

BTW,在q=*:*之后,&符号丢失了:

  

facet.query =文本:WORD1&安培; facet.query =文本:WORD2&安培; facet.query =文本:WORD3&安培;小面=真安培; Q = *:* facet.mincount = 50&安培; facet.sort =计数