2013-06-18 3 views
1

Есть ли способ ограничить количество результатов поиска, возвращенных из SOLR. Я работаю для клиента, который хотел бы ограничить результаты поиска до 100 (на основе поиска). Я могу использовать строки, но это ограничивало бы только результаты на странице, а не итоговые результаты. Проблема в том, что если используется функция сортировки SOLR, она сортирует все результаты, и продукт, который имеет 105-й ранг, основывается на оценке, может оказаться сверху из-за низкой цены. Я хочу, чтобы сортировка происходила только на 100 лучших результатах. Есть ли способ сделать это ?SOLR - Ограничение результатов поиска

Благодарим за помощь!

Supreet

+0

Вы имеете в виду, что вам нужно сначала получить 100 строк, а затем отсортировать 100 строк? – JHS

+0

есть. выберете первые 100 строк, а затем отсортируйте их по цене или имени. – user2496359

ответ

0

Вы можете использовать Sort By Function.

Вам необходимо запросить нормальный путь с помощью rows=100, а также добавить &sort=<query>.

Я не мог попробовать, так как сейчас у меня нет экземпляра Solr. Пожалуйста, дайте мне знать, работает ли ti или нет.

+0

Спасибо за ответ. Я уже пробовал это. Он дает 100 наименее оцененных продуктов из результата, а не 100 лучших (на основе поиска) соответствующих продуктов, отсортированных (или orderd) по цене. Напр. если SOLR возвращает 700 результатов для запроса, тогда строки = 100 и sort = цена asc вернет 100 продуктов из 700 с самой низкой ценой. Я ищу, если мы сможем ограничить SOLR, чтобы сгенерировать только 100 результатов, или если это невозможно, получите 100 результатов, используя rows = 100, и выполните сортировку по 100 результатам. Я также пробовал сортировать = оценка по убыванию, рост цен, но это также не помогает. – user2496359

Смежные вопросы