Амазону нравится изысканная фильтрация в solr - PullRequest
0 голосов
/ 31 декабря 2018

Нам нужно реализовать поиск в детализации, как Amazon.

enter image description here

Если выбран какой-либо поставщик, в настоящее время он отключил остальных поставщиков как solr facetвозвращает только этот выбранный фильтр.query: supplier:supplierId

Хотя вышеупомянутый запрос повторяет несколько Screen Color / Screen Size, но при дальнейшем выборе, только выбранный элемент возвращается для секции фильтра.

Любая помощь, чтобы сделать эторабота, подобная усовершенствованной фильтрации Amazon.com, будет высоко оценена.

1 Ответ

0 голосов
/ 31 декабря 2018

Чтобы обеспечить множественный выбор огранки, необходимо пометить соответствующий фильтр, чтобы можно было исключить его при огранке в соответствующем поле.Это может быть достигнуто с использованием локальных параметров tag и ex .

Руководство по Solr - Пометка и исключение фильтров :

Для реализации многократного выбора фасета для заданного поля графический интерфейс пользователя может по-прежнему отображатьдругие значения поля и связанные с ними значения, как если бы соответствующее ограничение фильтра еще не было применено.

Чтобы вернуть счетчики для значений поля, которые в данный момент не выбраны, отметьте фильтры, которые непосредственно ограничивают поле, и исключите эти фильтры при его огранке.

Например, длязапрос, который изначально будет выглядеть так:

q=mainquery&fq=supplier:supplierId&facet=true&facet.field=supplier

Вы бы сделали следующее:

q=mainquery&fq={!tag=sup}supplier:supplierId&facet=true&facet.field={!ex=sup}supplier
...