Перейти к содержимому Перейти к боковой панели

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

WPML ElasticPress – отображение результатов многоязычного поиска

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

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

Создает индексы для каждого языка, гарантируя, что результаты поиска и связанные записи соответствуют языку посетителей вашего сайта

Расширяет возможности поиска 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 → Sync вы также можете получить доступ к Настройкам синхронизации, которые включают два режима индексации. Они позволяют индексировать текущий контент с вашего веб-сайта 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 и/или после обновления с версии 1.0 до 2.0 WPML ElasticPress.
Обратите внимание, что если ваш сайт большой, этот процесс может занять несколько часов

Вы можете сделать это либо через админку 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.

Обновлено
23 октября, 2025