Статьи

Корпоративный поиск с Apache Solr и WordPress

В этом уроке мы рассмотрим, что такое Apache Solr и как он работает. Мы рассмотрим некоторые мощные функции Solr и их отличие от MySQL. Мы увидим преимущества интеграции Solr в наш веб-сайт WordPress. Мы также расскажем, как установить плагин WordPress Solr, а также как разместить Apache Solr. Наконец, мы завершим, посмотрев на некоторые популярные сайты, используя Solr.

Поиск Solr с WordPress

Это руководство предназначено для разработчиков и пользователей WordPress. Если вы не являетесь разработчиком и используете WordPress только для настройки веб-сайтов, в таком случае вам следует заботиться только о преимуществах и настройках Solr. Однако, если вы являетесь разработчиком WordPress, вам помогут изучение внутренних частей Solr и технических реализаций.

Что такое Apache Solr?

Apache Solr — поисковый сервер с открытым исходным кодом. Он хранит информацию таким образом, что поиск очень быстрый. В двух словах, это также система хранения, такая как SQL и NoSQL.

Solr написан на Java и использует библиотеку поиска Lucene для своей основной функциональности. Вам не нужно знать Java для работы с Solr.

Чем он отличается от MySQL?

Если вы новичок в Solr, лучший способ понять внутреннее устройство Solr — это сравнить его с MySQL.

  • MySQL хранит информацию в виде таблиц и строк. Принимая во внимание, что Solr хранит информацию в форме схемы и XML-документов. Схема определяет структуру документов.
  • Вы можете иметь несколько таблиц в MySQL, аналогично, вы можете иметь несколько схем в Solr.
  • Столбцы в таблице определяют структуру таблицы аналогично, в полях Solr определяют структуру схемы.
  • В MySQL вы храните в форме строк, тогда как в Solr вы храните в форме документов.
  • В MySQL при индексировании столбцов строки располагаются в древовидной структуре. Принимая во внимание, что в Solr, когда поле индексируется, оно организовано в структуру данных с инвертированным индексом .

Что делает это быстро для поиска?

Solr использует инвертированную структуру данных индекса для поиска слов в документах и ​​пересекает конечный результат. Ни одна другая система хранения не использует такую ​​структуру данных.

Каковы другие особенности Solr?

Solr предлагает множество других функций, таких как исправление орфографии, огранка, выделение, группировка результатов, автозаполнение и т. Д. Внедрение этих функций в ваш сайт WordPress выделит его из толпы. Эти функции обеспечивают лучший пользовательский опыт и новый способ доступа к контенту на вашем сайте WordPress.

Почему вы должны интегрировать WordPress с Solr?

Когда количество сообщений на вашем сайте увеличивается, MySQL начинает работать медленно, когда пользователи выполняют поиск на вашем сайте. Это связано с тем, что MySQL просматривает каждый пост и использует регулярные выражения для соответствия условиям поиска. Это очень дорогостоящая задача процессора. Иногда пользователи получают ошибки времени ожидания запроса из-за ограничения времени выполнения скрипта PHP. Если существует 10 000 сообщений, то для каждого поискового запроса MySQL будет попадать в файловую систему 10 000 раз, что является очень сложной задачей и замедлит работу вашего сайта.

Принимая во внимание, что Solr может искать 10000 документов всего за пару секунд. Если у вас есть блог среднего размера, тогда достаточно одного экземпляра Solr для всех постов.

Как интегрировать Solr с WordPress?

Для интеграции Solr в WordPress вам понадобятся две вещи: плагин Solr и хостинг Solr. Основная задача плагина Solr — перехватывать поисковые запросы WordPress и предоставлять результаты с сервера Solr вместо WordPress, извлекающего результаты из MySQL естественным образом.

Плагины Solr также предоставляют такие функции, как автоматическое предложение, исправление орфографии, выделение поисковых терминов, огранка тегов и категорий и т. Д. Однако для реализации этих дополнительных функций тема WordPress должна быть совместима с API этого конкретного плагина Solr. Некоторые плагины позволяют добавлять пользовательский файл search.phpперехватывает иерархию шаблонов и выполняет пользовательский файл поиска, который имеет все эти расширенные функции.

Плагин Solr только копирует сообщения и страницы на сервер Solr. Solr используется только во время поисковых запросов, например, http://example.com/?s=search_query Для всех других операций и запросов WordPress следует обычному потоку, например, использует MySQL.

Solr плагины для WordPress

Существует два популярных плагина WordPress для интеграции Solr: расширенный поиск по серверу My Solr и поисковая система WPSOLR .

В этом уроке я буду использовать плагин WPSOLR Search Engine для интеграции Solr в WordPress.

Солр Хостинг

Вы можете разместить Solr на выделенном сервере, но это требует некоторого обслуживания. Поэтому услуги облачного хостинга Solr являются предпочтительными. Существует два популярных облачных хостинга Solr: OpenSolr и GotoSolr .

В этом уроке я буду использовать GotoSolr для размещения нашего сервера Solr.

Установка плагина поисковой системы WPSOLR

Перейдите к пункту «Плагины», а затем «Добавить новый» на панели администратора WordPress. Затем найдите «WPSOLR Search Engine». Вы будете иметь плагин в списке сверху. Установите и активируйте его.

WPSOLR поисковая система плагин

Хостинг Solr на GotoSolr

Вот шаги для размещения Solr на GotoSolr:

  • Создайте новую учетную запись GotoSolr . Первый месяц бесплатный, поэтому сначала стоит попробовать его на своем сайте WordPress. Таким образом, нет риска, если вам это не нравится.
  • После того, как вы создали учетную запись, у вас будет доступ к панели инструментов.

Панель инструментов GotoSolr

  • Индекс — это набор схем, документов и их конфигураций. Вам нужно создать индекс. Нажмите кнопку « на вкладке «Индексы».

Solr Indexes

  • Теперь вам нужно скачать файлы конфигурации плагина WPSOLR для вашего индекса и загрузить их.
  • Нажмите на вкладку «schema.xml» и используйте кнопку «Загрузить», чтобы загрузить ранее загруженный файл schema.xml. Затем нажмите кнопку Сохранить.

Solr Schema

  • Нажмите на вкладку «Ключи доступа», создайте новый ключ безопасности / секрет, нажав «Добавить новый ключ / секрет». Позже вы будете использовать эти ключи, чтобы плагин (и только он) подключался к вашему индексу Solr, устанавливая его значения в полях user / password, используемых во всех вызовах базовой аутентификации Solr https.

Ключи доступа Solr

  • Нажмите на вкладку «URL этого индекса». Вставьте URL вашего индекса в документ для дальнейшего использования. Обратите внимание, насколько сложен URL-адрес и что он использует HTTPS. Это, плюс ваши ключи доступа, гарантирует, что ваш индекс защищен.

Solr Index

Настройка и подключение поисковой системы WPSOLR к серверу GotoSolr

Вот шаги для подключения к серверу GotoSolr:

  • Откройте страницу настроек WPSOLR на панели администрирования WordPress. Нажмите кнопку «Я загрузил 2 моих совместимых файла конфигурации в мое ядро ​​Solr».

Настройки WPSOLR

  • Теперь выберите переключатель «Облачный хостинг». Затем скопируйте информацию о доступе к серверу с панели управления GotoSolr.

    WPSOLR / GotoSolr Панель инструментов

    Нажмите «Проверить статус Solr, затем сохранить». Это проверит ваши настройки и проверит связь с вашим индексом Solr. Если возникнет ошибка, вы будете предупреждены сообщением. Если (и только если) соединение подтверждено, ваши настройки будут сохранены.

  • На вкладке «Solr Options» выберите, что вы хотите проиндексировать, а также какие дополнительные функции вам нужны.

    Параметры индексирования WPSOLR Solr

Параметры результата WPSOLR Solr

  • Теперь перейдите на вкладку «Операции Solr» и нажмите кнопку «Загрузить данные», которая скопирует весь ваш контент WordPress на сервер Solr.

Копирование данных WordPress в Solr

  • С этого момента, если вы вносите какие-либо изменения или создаете новые страницы и публикации, этот плагин автоматически создает копию в индексе Solr.

Этот плагин переопределяет форму поиска WordPress для реализации функции автозаполнения. Если вы используете этот плагин, вам не нужно создавать собственный файл search.php, потому что этот плагин создает его автоматически. Вот несколько скриншотов, демонстрирующих автозаполнение и другие функции Solr на примере сайта WordPress.

Пример Solr WordPress 1

Пример Solr WordPress 2

Сайты, использующие Solr

Есть много популярных сайтов, которые используют Solr для поиска. Вот лишь краткий список:

  • DuckDuckGo использует Solr для проверки орфографии, хранения веб-страниц и т. Д.
  • Drupal.org использует Solr для управления всеми функциями своего сайта.
  • Last.fm использует Solr для всех своих поисковых функций.
  • Некоторые другие сайты включают AOL, Yahoo, Instagram, Yellow Pages и т. Д.

Последние мысли

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

Вот некоторые ресурсы, где вы можете получить дополнительную информацию об Apache Solr:

Как вы видели, было достаточно просто внедрить Solr в WordPress без особых хлопот. Пожалуйста, поделитесь своим опытом и любыми реализациями Solr и WordPress, с которыми вы столкнулись ниже.