无需分组即可在solr中分散结果集

时间:2019-04-10 08:37:20

标签: search solr

我从solr 7.7.1检索特定类别的结果,我想按用户对结果进行多样化。每当访客查看类别时,都应该可见来自多个来源的最新和相关数据。

数据来自用户导入,并且每当导入完成时,就会有一个用户控制该类别的第一页。我想确保第一页上有许多用户提供的多样化但相关的报价。

我当前的查询针对类别进行过滤并按价格排序:

select?
q=*:*&
start=0&
rows=50&
fq=type:classifieds&
fq={!tag=cat_main}cat_main_id:15&
fl=*,score&
sort=date_created%20desc

我尝试根据库存可用性,价格进行不同的排序,还尝试了合并排序。

$this->query->addSortField( 'date_created', SolrQuery::ORDER_DESC  );
// $this->query->addSortField( 'avail_id', SolrQuery::ORDER_DESC  );
// $this->query->addSortField( 'price', SolrQuery::ORDER_ASC  );

他们都没有带来多样性,但结果却更糟。

然后我尝试按user_id分组:

$this->query->setGroup(true);
$this->query->addGroupField( 'user_id' );

但这不仅缩小了分页内的结果数量,而且更重要地返回了一个不同的json响应,这将花费巨大的精力来重写我的应用程序。

如何确保一个用户返回的结果不多?

0 个答案:

没有答案