Разнообразить набор результатов в solr без группировки - PullRequest
1 голос
/ 10 апреля 2019

Я получаю результаты для определенной категории из 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, который потребовал бы огромных усилий, чтобы переписать мое приложение.

Как я могу убедиться, что не один результат будет возвращен одним пользователем?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...