Описание
Модуль Faceted Search организует на сайте так называемый фасетный поиск (фасетную навигацию). Смысл его в том, что результаты поиска можно уточнять с помощью различных характеристик материала — автор, тип, термин, дата создания и т.п.
Например если у вас интернет магазин по продаже электронной технике, и пользователь вводит в поиск фразу аудио плеер. На странице с результатами, помимо самих результатов, будут присутствовать фасеты:
— Раздел: аудиотехника (54), компьютерная техника (85)
— Брэнд: Apple (25), Samsung (68), iRiver (78)
— Наличие на складе: есть (456), нет (12)
— Цена: 100-1000$ (45), 1000-10000$ (12)
и т.д. В скобках будет указано число товаров (нод), которые соответствуют этим характеристикам. Кликая по ссылкам, пользователь будет сужать результаты поиска.
С одной стороны это альтернатива раскрытым фильтрам в Views, с другой альтернатива стандартному расширенному поиску.
Как это работает в живую, можно посмотреть на официальной демо страничке модуля.
Установка
1. Скачиваем последнюю версию модуля.
2. Распаковываем в sites/all/modules
3. Идём на страницу admin/build/modules и включаем нужные модули:
- Faceted Search — ядро модуля (обязательно).
- Faceted Search UI — админка модуля (обязательно, после настройки можно отключить).
- Taxonomy Facets — добавляет фасет по терминам таксономии.
- Author Facet — добавляет фасет по автору материала.
- Content Type Facet — добавляет фасет по типу материала.
- Date Authored Facet — добавляет фасет по дате создания материала.
- Date Facets Format — добавляет возможность изменить формат дат для фасета по датам.
- Faceted Search Views — позволяет выводить результаты поиска в представлении Views.
- Field Keyword Filter — текстовый поиск по отдельным полям.
Использование
Идём на страницу admin/settings/faceted_search и с помощью таба Add environment добавляем новый поиск.
Раздел Basic information
Name — название поиска. Будет выводиться на странице admin/settings/faceted_search.
Title — заголовок, выводящийся на странице поиска.
Content types — типы контента, которые будут участвовать в поиске.
Base path — адрес, по которому будет доступен фасетный поиск.
Start page — адрес, который откроется если полностью удалить все условия.
Let unpublished nodes appear in search results — добавлять в результаты неопубликованные материалы.
Раздел Facets
В этом разделе можно указать, какие фасеты использовать при поиске. Например разрешить отбирать материалы по таксономии, дате добавления или автору. Число фасетов зависит от включённых модулей.
Раздел Results page
Display style — стиль вывода результатов поиска: Extracts значит выводить как при обычном поиске (подсвеченный текст, автор, дата); Teasers значит выводить тизеры материалов с помощью соответствующего node.tpl.php.
Use the Extracts display style selectively — Если опция отмечена, то стиль Extracts будет применяться всегда, если введено ключевое слово. Если не отмечать эту опцию то можно использовать модуль в качестве замены навигации по терминам таксономии.
Раздел Current search
Позволяет включить блок Текущий поиск, в котором отображаются условия поиска:
Раздел Keyword search
Позволяет включить функцию поиска по тексту:
Скриншот настроек раздела.
Раздел Guided search
Позволяет включить блок Направленный поиск в котором собственно и размещаются фасеты:
Скриншот настроек раздела.
С остальным пока не разобрался :)
После создания поиска, нужно разместить необходимые блоки в один из регионов, и установить им видимость, если это необходимо.
Дополнительные модули
CCK Facets — возможность создавать фасеты по cck полям.
Ranged Search for Faceted Search — возможность создавать фасеты по диапазонам чисел и значений.
Комментарии
Интересно, нужен был поиск по части слова, попробовал почти все модули для поиска, с faceted так до конца и не разобрался, в итоге сделал на vews
да, насколько понял из коробки он не умеет искать по части слова, видимо всё упирается в производительность LIKE %
Как увеличить количество выводимых результатов на больше 10?
http://site.com/admin/content/node-settings
Изменить количество материалов на главной странице.
Правильно я понимаю, что поиск на d.org сделан на фасеточной технологии?
http://gyazo.com/8fb9b1e9ea9457b66ad72933d13af810.png
да
А ещё говорят что поиск друпал.орг-а работает на Apache Solr Multisite Search - или они совместно работают?
кто "они"?
Прошу прощения ошибся модулем, вот на этом работает Apache Solr Search Integration
говорят тут
мне вот интересно, можно ли, используя уберкарт для 6 друпала, на фасетной технологии реализовать фильтры для различных категорий товаров (например, для ноутбуков - свои, для жестких дисков свои наборы)?
почему могут не выводиться фасетные блоки на страницах термина таксономии?
Фасетный поиск и на Commerce Kickstart
http://demo.commerceguys.com/ck/products
Но вот как сделать, чтобы при выборе checkbox или перетаскивания ползунка не автоматом срабатывал поиск, а появлялось как на , например, Яндекс Маркете - Выбрано моделей: 105 Показать - (id="guru_filters_form_link")
То есть пользователь выбирает несколько фасетов, а потом уже смотрит - так гораздо удобнее!
Но как это сделать? Куда копать?
копать в сторону ajax
Это понятно...))) ручками надо кодить и кодить...
Может встречали какие то готовые, подобные решения...
Или там всё не так сложно.
Отключить автосабмит и выводить ссылку рядом с кликом....
Накопал - Ajax facets
Чтобы включить модуль, нужно установить/включить зависимые. В случае со сборкой кикстарт 2 - останется только Apache Solr - правда сам сервер можно не настраивать, так как установлен уже внутренний Server, он будет работать по его индексу отлично - нужно изменить "Configure facet display" с "Links with checkboxes" на "Ajax multiple checkboxes". Так же ещё будет - Ajax selectbox.
У них есть опция - Display the number of matching items (If checked, the number of matching items will be output with the color square).
Вот как это работает - Ajax facets with links
здорово
А аналог для D7 есть? На drupal.org вроде говорят что для D7 не будет аналога.
https://drupal.org/project/facetapi
а в чем преимущества перед аналогом - раскрытым фильтром?
Добавить комментарий