Solr - получение подсчета фасетов для нефильтрованной версии запроса - PullRequest
4 голосов
/ 05 июня 2010

Я использую Solr для поиска, и недавно начал использовать фасетирование, чтобы позволить пользователям сузить свой поиск. Однако, как только пользователь выполняет фильтрацию по одному из фасетов, другие параметры фильтра больше не возвращаются в результатах фасета. Это ожидается, но не то, что я хотел бы.

Есть ли способ вернуть поля фасетов и счетчики для нефильтрованного запроса, не выполняя дополнительный поиск? Например, если пользователь выполняет фильтрацию по категориям (выбирая определенную категорию), я бы хотел, чтобы они по-прежнему могли выбирать одну из других категорий без необходимости предварительно явно удалять фильтр. (То есть все категории - и их количество - все равно должны быть возвращены Solr, чтобы я мог включить их на страницу вместе с отфильтрованным набором запросов.)

Я подозреваю, что это может быть невозможно. Если это не так, я могу просто выполнить дополнительный запрос на поиск, который бы исключил фильтр (и вернул бы 0 строк), как описано в в предыдущем вопросе StackOverflow . Но я решил спросить: кто-нибудь знает способ сделать это без нескольких запросов?

1 Ответ

8 голосов
/ 05 июня 2010

Это называется многогранным огранением, и возможно использование определенных локальных параметров для исключения фильтров при огранке. Подробнее см. «Пометка и исключение фильтров» .

...