0

我正在尝试从具有多个方面查询的单个查询中订购方面。

但是 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。但它只影响构面字段中的单词,而不影响构面查询。真的吗?有什么解决办法吗?

4

1 回答 1

0

是的,您要么执行“查询分面”(不带额外参数),要么执行包含所有参数(最小计数、顺序等)的“字段分面”

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

顺便说一句,在以下内容中缺少&符号q=*:*

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

于 2013-10-13T17:18:14.170 回答