Поиск Solr для Drupal 8 с помощью Search API — блог 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 сайте, но вам нужна помощь в этом, можете больше не искать — вы уже нашли надежных помощников в нашем лице!

Похожие материалы