Пошук Solr для Drupal 8 за допомогою Search API — Blog Drudesk
050 640 98 44
support@drudesk.com

Швидкий та зручний Solr-пошук для Drupal 8 з Search API

Як могло людство колись жити без можливості онлайн-пошуку? Складно повірити, що саме так і було до 90-х років XX століття. І дуже приємно знати, що сьогодні будь-який сайт може бути маленьким «Гуглом» і забезпечувати своїх користувачів функцією зручного пошуку. І все це — завдяки чудовим технологіям, однією з яких є Apache Solr. У цій статті ми приділимо увагу інтеграції Solr на Drupal 8 сайтах. Сподіваємось, що вона буде цікавим продовженням нашої серії статей про Drupal 8, в якій ми уже розглядали керування конфігураціями, впровадження AMP, інструменти для створення посилань, підвищення веб-доступності, модулі на кшталт Paragraphs, Media Entity, Honeypot в Drupal 8 і багато іншого.

Solr і Drupal: вони знайшли одне одного!

Apache Solr — «блискавична», багатофункціональна та надійна платформа з пошуку — завжди була чудовим рішенням для створення швидких та зручних пошукових інтерфейсів на Drupal-сайтах.

Solr і Drupal — опен-сорсні проекти з великими та дружніми спільнотами. По-справжньому потужні, вони підходять навіть для сайтів і додатків з великим навантаженням та мають чудові можливості до масштабування. Чудова пара!

Серед речей, якими Apache Solr може бути корисним для Drupal-сайтів — пошук за неточною відповідністю (що дозволяє орфографічні помилки), фасетний пошук, сніпети тексту з виділеними пошуковими запитами, варіанти пошуку («можливо, ви мали на увазі») і багато іншого.

Крім того, Solr працює набагато швидше, ніж традиційний пошук, не перевантажує базу даних сервера, надає ширші можливості для налаштування.

Search API: «єдиний провайдер» Solr для Drupal 8

Звісно, щоб запровадити Solr-пошук на Drupal-сайті, необов’язково починати з нуля, адже для всього найкращого в Drupal’і уже існують корисні модулі, здатні значно полегшити роботу.

В Drupal 7 за інтеграцію Solr відповідали два основні модулі: Apache Solr Search і Search API. Кожен з них мав іншу архітектуру, але застосовувався для аналогічних цілей. Це часто вимагало від спільноти подвійних зусиль на вирішення різноманітних проблемних моментів.

Тому на DrupalCon у Празі було прийняте рішення про «велике злиття» та об’єднання всього функціоналу в Search API. Велика місія лягла на Томаса Сейдла, Ніка Веехофа і команду.

За словами Ніка, Drupal 8 допоміг їм переосмислити деякі поняття і усунути те розділення, яке існувало між Apache Solr Search і Search API в Drupal 7. «Search API буде єдиним провайдером інтеграції Apache Solr у Drupal 8», сказав він. Дякуючи невтомним друпалістам, так і відбулося!

Процес перетворення Search API на потужний та дуже гнучкий інструмент для роботи з Solr у Drupal 8 включав у себе портування цілої екосистеми корисних модулів: search_api_solr, search_api_multilingual, facets (раніше — Facet API) та інших. Він також передбачав великі покращення на кшталт додавання мультимовної підтримки, більшої гнучкості у відображенні даних, швидшого завантаження сторінок і так далі.

Три концепти Search API

На DrupalCon у Дубліні Йоріс Веркаммен у своїй доповіді дав чудове пояснення трьох концептів, з яких складається Search API:

  • Пошуковий індекс (що ми будемо шукати: ноди, користувачів, таксономія і т.д.)
  • Пошуковий сервер (місце, де зберігаються дані: MySQL, Solr, ElasticSearch і т.д.)
  • Відображення (те, як дані відображатимуться на сайті)

Search API — класний інструмент, і щоб повністю розкрити його потенціал, можете доручити кожен аспект його ідеального налаштування нашим Drupal-експертам. Тож якщо ви зацікавлені у використанні Solr на вашому Drupal 8 сайті, але потребуєте допомоги у цьому, можете більше не шукати — ви вже знайшли надійних помічників у нашій особі!