Зручний пошук — основа хорошої навігації та юзабіліті сайту. Дозвольте користувачам свого сайту швидко знаходити те, що вони шукають, — і одну річ вони точно загублять! А саме: вони загублять адреси ваших конкурентів і повністю забудуть їхні імена. Drupal 8 має чудові можливості для пошуку на сайті, які втілюються за допомогою корисних Drupal-модулів. Вам не доведеться їх довго шукати — ми розглянемо основні з них просто зараз.
Чудові можливості та модулі для пошуку в Drupal 8
Вбудований пошук Drupal 8
Пошук Drupal’а «з коробки» значно покращився в 8-ій версії. Не встановлюючи жодних додаткових модулів, можна створювати кастомні сторінки пошуку за допомогою модуля Search, який є у складі ядра Drupal 8. Об’єктом пошуку можуть бути ноди контенту і користувачі.
Модуль Search дозволяє налаштувати індексацію та визначити фактори, які впливатимуть на порядок видачі результатів (наприклад, час створення контенту, кількість коментарів, релевантність пошукових слів і так далі).
Вбудований пошук Drupal 8 працює досить добре і є гарним вибором для невеличких сайтів, які не мають потужного трафіку і не потребують складних пошукових сценаріїв. Якщо це — про вас, можна одразу замовити створення пошуку на сайті в хорошої Drupal-команди.
А що стосується більш розширених опцій, переходимо до наступних пунктів.
Search API
Майже необмежені пошукові можливості має контрібний модуль Drupal 8 — Search API. Це — гнучкий набір інструментів, який дуже цінують Drupal-розробники за те, що він дозволяє створювати навіть найскладніші пошукові інтерфейси.
У восьмій версії Друпала Search API поєднує в собі можливості, які були «розпорошені» по різних модулях Drupal 7. Наприклад, він дозволяє застососувати різні пошукові індекси, для чого раніше потрібен був окремий модуль Search API multi-index searches. Якщо вам цікаві деталі роботи Search API в Drupal 7, огляд від наших розробників може стати вам в пригоді.
Коли використовується Search API, модуль ядра Search повинен бути відключений для уникнення конфліктів — наприклад, подвійної індексації.
Тепер Search API включає підмодуль Database Search, який забезпечує бекенд для пошуку. Однак, Database Search чудово підійде невеличким сайтам, а більшим варто розглянути більш потужні та швидкі варіанти на кшталт Apache Solr або Elasticsearch.
Крім того, Search API містить підмодуль Database Search Defaults, який допомагає з дефолтними налаштуваннями. А також — підмодуль Search API Taxonomy Term Handlers для роботи з таксономією.
Чудово, що Search API здатен індексувати абсолютно будь-які сутності в Drupal 8 з будь-яких джерел даних, наприклад, контент, кастомні блоки, коментарі, таксономія, користувачі, файли і так далі.
Search API дозволяє виділяти пошукові результати кольором, призначати стоп-слова, застосовувати транслітерацію, ігнорувати регістр, виділяти основу слова для зручного пошуку споріднених слів, ділити текст на окремі слова — і це лише частинка можливостей «з коробки».
Комбінації з іншими модулями розширюють суперсили Search API. Наприклад:
- користувачі насолоджуватимуться функцією автозаповнення завдяки модулю Search API Autocomplete;
- пошук залежно від географічного розташування буде ще зручнішим з модулем Search API Location;
- конкретні сутності можуть бути сховані від видачі за допомогою модуля Search API Exclude Entity;
- вкладені файли легко стануть об’єктом пошуку завдяки модулю Search API attachments;
І це лише декілька прикладів.
Ну і, нарешті, одна з найкращих переваг Search API — здатність приєднувати до вашого сайту відомі пошукові платформи на кшталт Apache Solr, Elasticsearch і так далі. Деталі просто зараз.
Search API Solr Search
Apache Solr — блискавично швидка та потужна пошукова платформа з відкритим кодом. Вона базується на бібліотеці Lucene і написана мовою Java. Навіть сайти з дуже серйозним трафіком або складними пошуковими сценаріями — не проблема для Solr. Він легко знімає навантаження з вашої бази даних.
Пошукові можливості Solr включають фасетний пошук, альтернативне написання слів, рекомендації схожого контенту, виділення результатів, пошук у вкладених файлах, мультисайт-пошук і багато іншого.
Для інтеграції Solr з Drupal-сайтом існує модуль Search API Solr Search, який забезпечує Solr-бекенд. Він працює в парі з Search API, а також потребує сервера Apache Solr.
До речі, вітаємо зі свіжим оновленням Search API Solr Search — 1 червня вийшла версія 8.x-2.0!
Ще одна чудова новина — це те, що починаючи з версії 8.x-2.x модуль Search API Multilingual Solr Search перейшов у склад Search API Solr Search. Він має високий рівень підтримки різних мов, видачу результатів іншою мовою (cross-language information retrieval або CLIR) та зручний інтерфейс.
Для тих, кому буде цікаво: колись ми пропонували вам детальний огляд від наших розробників щодо використання Search API і Apache Solr в Drupal 7.
Facets
Amazon, Zappos, Walmart, eBay та багато інших відомих та потенційно відомих інтернет-магазинів. По суті, це означає пошук за різними категоріями та параметрами, що дозволяє користувачам швидко відсіяти непотрібні товари та максимально звузити пошукові результати.
Модуль Facets, створений виключно для Drupal 8, дозволяє сайт-білдерам створювати цікаві інтерфейси з фасетним пошуком. Він працює яке із вбудованим пошуком Drupal 8, так і з Search API. Особливо популярними є рішення з фасетним пошуком Solr, для яких будуть потрібні також модулі Apache Solr і Search API.
Elasticsearch Connector
Коли йдеться про пошукові платфомри, Elasticsearch є чудовою альтернативою Solr. Він теж дуже потужний та гручний, побудований на Lucene і написаний на Java.
Elasticsearch може швидко індексувати величезні об’єми даних. Він є API-орієнтованим і може працювати з багатьма мовами програмування. Як в Solr, Elasticsearch має величезний список пошукових опцій. Нюанси різниці між Solr та Elasticsearch заслуговують на окремий блог. В будь-якому випадку, ми завжди зможемо допомогти вам обрати те, що вам підійде краще.
Звісно, в Drupal 8 є модулі для інтеграції з Elasticsearch — наприклад, Elasticsearch Connector, який працює з Search API.
Наостанок
Є ще багато чудових модулів для пошуку в Drupal 8, і вони використовуються в ідеальних поєднаннях, щоб створити для вашого сайту саме те, що потрібно. Крім того, додаткова кастомізація девелоперами творить дива у здійсненні ваших бажань.
Щоб обрати оптимальні модулі і правильно їх застосувати, завжди можете покластися на нашу Drupal-команду.
У нас великий досвід з розробкою Drupal-пошуку. В тому числі — створення міжнародного мультидоменного інтернет-магазину з кастомними фасетами та використанням Solr.
Знайти нас дуже легко без жодних пошукових рішень — ми завжди тут для вас! ;)