На этой странице:
- Необходимые плагины и установка
- Введение в Elasticsearch и ElasticPress
- Как работает WPML ElasticPress
- Синхронизация и индексирование контента с WPML ElasticPress
- Известные проблемы
- Получение помощи от нашей службы поддержки
Необходимые плагины и установка
Начните с установки и активации следующего:
- Плагин ElasticPress
- Основной плагин WPML и дополнение WPML → Перевод строк
- Связывающий плагин WPML ElasticPress
Если ты новичок в WPML, ознакомься с нашим руководством по началу работы.
Введение в Elasticsearch и ElasticPress
Elasticsearch предлагает Вам быстрый и точный способ управления контентом с возможностью поиска. Этот инструмент с открытым исходным кодом индексирует и классифицирует Ваш контент, позволяя Вам анализировать самые разные типы контента, включая текстовые документы, числовые и геопространственные данные.
ElasticPress интегрирует Ваш веб-сайт WordPress с Elasticsearch, чтобы усовершенствовать функции поиска, запросов и релевантности контента WordPress по умолчанию.
Если у Вас есть сайт с большим количеством информации, например, магазин WooCommerce или веб-сайт сообщества, Вы можете использовать ElasticPress:
- Создайте поиск с практически мгновенными результатами, устраняя при этом нагрузку на базу данных WordPress.
- Выполняйте сложные запросы, включая полнотекстовый и нечеткий поиск.
- Добавьте весовые коэффициенты для контента, чтобы результаты поиска были сосредоточены на данных по Вашему выбору.
- Анализируйте большие объемы данных, чтобы понять поведение клиентов и тенденции на Вашем сайте.
Как только Вы установите плагин ElasticPress и подключитесь к серверу Elasticsearch, плагин начнет индексировать данные Вашего веб-сайта. Это означает, что он организует весь контент Вашего веб-сайта (записи, страницы, продукты и т.д.) в формат, который Elasticsearch может быстро обработать.
ElasticPress объединяет свои функциональные возможности в особенности, доступ к которым Вы можете получить, перейдя в раздел ElasticPress → Особенности.
Синхронизация контента с ElasticPress
ElasticPress автоматически синхронизирует контент, когда Вы создаете, обновляете или удаляете его, обеспечивая постоянную актуальность Вашего поискового индекса.
В разделе ElasticPress → Синхронизация Вы можете дополнительно получить доступ к настройкам синхронизации, в которых есть две особенности индексирования. Они позволяют Вам индексировать текущее содержимое Вашего веб-сайта WordPress в Elasticsearch или удалить существующие данные в индексе Elasticsearch и создать новый индекс с нуля с текущим содержимым Вашего сайта WordPress.
Как работает WPML ElasticPress
WPML ElasticPress обеспечивает многоязычный поиск на Вашем сайте WordPress, работающем на WPML и ElasticPress. Он анализирует контент на языке оригинала, обеспечивая его точное индексирование, и отображает релевантный контент для пользователей на выбранном ими языке.
WPML ElasticPress достигает этой цели, генерируя уникальные, специфические для каждого языка индексы:
- Соответствующие документы: Каждый индекс включает в себя переводы на определенный язык для всех типов записей, установленных как переводимые. Для типов записей, настроенных на отображение переводов, если они доступны, или на возврат к языку по умолчанию, индекс включает переводы на этот язык плюс сообщения на языке по умолчанию. Для непереводимых записей каждый языковой индекс включает копию всех элементов.
- Анализ документов с учетом языка: Все документы в языковом индексе подвергаются анализу и синхронизации с помощью инструментов, стоп-слов и стемминга для данного языка. Сюда входят копии записей на языке по умолчанию.
- Пул результатов поиска: Каждый языковой индекс предоставляет пул потенциальных результатов для внешних поисковых запросов, списков связанных записей и т.д.
Поддерживаемые особенности 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 автоматически синхронизирует соответствующий контент. Он обновляет соответствующие индексы на основе языка измененного контента или настроек перевода для типа записи.
Индексирование с помощью 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 также позволяет Вам индексировать только записи на определенных языках. Чтобы сделать это:
- Используйте команду
wp wpml_elasticpress sync --setup --post-type=post --post-lang=en
, чтобы проиндексировать записи на заданном языке (в данном случае на английском) и удалить все существующие индексы. - Если Вы сейчас проверите фронтенд своего сайта, то увидите в результатах поиска только англоязычные записи на англоязычном сайте. Если Вы переключите язык, результаты поиска должны быть пустыми.
Если Вы хотите индексировать дополнительные языки, повторите шаг 2. Не забудьте пропустить аргумент —setup, иначе Вы удалите те записи, которые уже были проиндексированы).
Например, Вы можете использовать следующее: wp wpml_elasticpress sync --post-type=post --post-lang=fr
Известные проблемы
WPML отлично работает с этим плагином, но иногда могут возникать небольшие проблемы, над которыми мы работаем. Такое возможно, поскольку оба плагина часто обновляются.
Текущие нерешенные проблемы:
Также можно выполнить поиск по всем известным проблемам по этому плагину, включая ранее решенные.
Получение помощи от нашей службы поддержки
Если Вам нужна помощь в использовании ElasticPress на Вашем многоязычном сайте, посетите форум поддержки WPML.