Skip navigation

Home » Документация по WPML » Связанные проекты » Использование ElasticPress на Вашем многоязычном сайте

WPML ElasticPress — оптимизируйте поисковый опыт Вашего многоязычного сайта WordPress

WPML ElasticPress позволяет Вам добавить мощь Elasticsearch на Ваш многоязычный сайт WordPress. Сделайте свой сервер счастливым и убедитесь, что посетители Вашего сайта могут быстро найти то, что им нужно, на своем родном языке.

Ключевые особенности

Генерирует индексы для каждого языка, обеспечивая соответствие результатов поиска и связанных с ними записей языку посетителей Вашего сайта.

Расширяет поисковые возможности ElasticPress на все языки Вашего сайта, работающего на WPML.

Бесшовная интеграция с панелью управления ElasticPress Sync позволяет осуществлять синхронизацию с учетом специфики языка.

Синхронизируйте и анализируйте контент на каждом языке для точного индексирования и удобства поиска

На этой странице:

Необходимые плагины и установка

Начните с установки и активации следующего:

  • Плагин ElasticPress
  • Основной плагин WPML и дополнение WPML String Translation
  • Связывающий плагин WPML ElasticPress

Если ты новичок в WPML, ознакомься с нашим руководством по началу работы.

Введение в Elasticsearch и ElasticPress

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

ElasticPress интегрирует Ваш веб-сайт WordPress с Elasticsearch, чтобы усовершенствовать функции поиска, запросов и релевантности контента WordPress по умолчанию.

Если у Вас есть сайт с большим количеством информации, например, магазин WooCommerce или веб-сайт сообщества, Вы можете использовать ElasticPress:

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

Как только Вы установите плагин ElasticPress и подключитесь к серверу Elasticsearch, плагин начнет индексировать данные Вашего веб-сайта. Это означает, что он организует весь контент Вашего веб-сайта (записи, страницы, продукты и т.д.) в формат, который Elasticsearch может быстро обработать.

ElasticPress объединяет свои функциональные возможности в особенности, доступ к которым Вы можете получить, перейдя в раздел ElasticPress → Особенности.

ElasticPress позволяет Вам включить ряд особенностей

Синхронизация контента с ElasticPress

ElasticPress автоматически синхронизирует контент, когда Вы создаете, обновляете или удаляете его, обеспечивая постоянную актуальность Вашего поискового индекса.

В разделе ElasticPress → Синхронизация Вы можете дополнительно получить доступ к настройкам синхронизации, в которых есть две особенности индексирования. Они позволяют Вам индексировать текущее содержимое Вашего веб-сайта WordPress в Elasticsearch или удалить существующие данные в индексе Elasticsearch и создать новый индекс с нуля с текущим содержимым Вашего сайта WordPress.

Как работает WPML ElasticPress

WPML ElasticPress обеспечивает многоязычный поиск на Вашем сайте WordPress, работающем на WPML и ElasticPress. Он анализирует контент на языке оригинала, обеспечивая его точное индексирование, и отображает релевантный контент для пользователей на выбранном ими языке.

WPML ElasticPress достигает этой цели, генерируя уникальные, специфические для каждого языка индексы:

  1. Соответствующие документы: Каждый индекс включает в себя переводы на определенный язык для всех типов записей, установленных как переводимые. Для типов записей, настроенных на отображение переводов, если они доступны, или на возврат к языку по умолчанию, индекс включает переводы на этот язык плюс сообщения на языке по умолчанию. Для непереводимых записей каждый языковой индекс включает копию всех элементов.
  2. Анализ документов с учетом языка: Все документы в языковом индексе подвергаются анализу и синхронизации с помощью инструментов, стоп-слов и стемминга для данного языка. Сюда входят копии записей на языке по умолчанию.
  3. Пул результатов поиска: Каждый языковой индекс предоставляет пул потенциальных результатов для внешних поисковых запросов, списков связанных записей и т.д.

Поддерживаемые особенности ElasticPress

В настоящее время WPML ElasticPress поддерживает следующие особенности ElasticPress:

  • Запись Поиск для внешнего поиска
  • Связанные Записи, используя виджет, предоставленный ElasticPress.
  • Условия, комментарии и пользователи для поиска в Бэкенде

Начало работы с WPML ElasticPress

Поскольку WPML ElasticPress генерирует индексы для каждого языка, мы рекомендуем Вам заново проиндексировать Ваши записи после установки WPML ElasticPress и/или после обновления WPML ElasticPress с версии 1.0 до 2.0.
Обратите внимание, что если Ваш сайт большой, этот процесс может занять несколько часов.

Вы можете сделать это либо через админку WordPress, либо с помощью следующей команды:

wp wpml_elasticpress sync --setup --post-type=post

Синхронизация и индексирование контента с WPML ElasticPress

WPML ElasticPress интегрируется непосредственно с панелью управления Sync в разделе ElasticPress → Sync. Вместо того чтобы запускать один процесс синхронизации, плагин запускает несколько синхронизаций, по одной для каждого языка на Вашем многоязычном сайте.

WPML ElasticPress интегрируется непосредственно с ElasticPress Sync

Всякий раз, когда Вы создаете, изменяете или удаляете запись, WPML ElasticPress автоматически синхронизирует соответствующий контент. Он обновляет соответствующие индексы на основе языка измененного контента или настроек перевода для типа записи.

Индексирование с помощью WP-CLI

Если у Вас большой многоязычный веб-сайт с большим количеством контента, который необходимо проиндексировать, Вы можете предпочесть индексирование в командной строке. WPML ElasticPress включает собственную команду CLI, wp wpml_elasticpress, которая расширяет существующую командуwp elasticpress. Он добавляет опцию --post-lang для указания языков для синхронизации. Вы можете перечислить несколько языков, разделив их запятыми. Например, wp wpml_elasticpress sync –post-lang=en,es будет синхронизировать только английский и испанский контент.

Полезные команды включают:

  • wp wpml_elasticpress sync –setup: Удаляет все существующие индексы и заново индексирует весь контент.
  • wp wpml_elasticpress sync --per-page=200: Синхронизируйте весь контент партиями по 200 элементов за раз, вместо 350 элементов за партию по умолчанию, установленных ElasticPress.
  • wp wpml_elasticpress sync –post-type=post –post-lang=en,pt-pt: Индексирует только записи на определенных языках. В данном случае — английский и португальский. Ниже мы подробно объясним , как использовать эту команду.

Индексирование только записей с определенных языков

Связывающий плагин WPML ElasticPress также позволяет Вам индексировать только записи на определенных языках. Для этого:

  1. Используйте команду wp wpml_elasticpress sync --setup --post-type=post --post-lang=en, чтобы проиндексировать записи на заданном языке (в данном случае на английском) и удалить все существующие индексы.
  2. Если Вы сейчас проверите фронтенд своего сайта, то увидите в результатах поиска только англоязычные записи на англоязычном сайте. Если Вы переключите язык, результаты поиска должны быть пустыми.

Если Вы хотите индексировать дополнительные языки, повторите шаг 2. Не забудьте пропустить аргумент —setup, иначе Вы удалите те записи, которые уже были проиндексированы).

Например, Вы можете использовать следующее: wp wpml_elasticpress sync --post-type=post --post-lang=fr

Известные проблемы

WPML отлично работает с этим плагином, но иногда могут возникать небольшие проблемы, над которыми мы работаем. Такое возможно, поскольку оба плагина часто обновляются.

Текущие нерешенные проблемы:

Также можно выполнить поиск по всем известным проблемам по этому плагину, включая ранее решенные.

Получение помощи от нашей службы поддержки

Если Вам нужна помощь в использовании ElasticPress на Вашем многоязычном сайте, посетите форум поддержки WPML.

Обновлено
14 марта, 2024