На этой странице:
- Необходимые плагины и установка
- Введение в Elasticsearch и ElasticPress
- Как WPML ElasticPress Работает
- Синхронизация и индексирование содержимого с WPML ElasticPress
- Известные проблемы
- Получение помощи от нашей службы поддержки
Необходимые плагины и установка
Начните с установки и активации следующего:
- Плагин ElasticPress
- WPML основной плагин и WPML String Translation дополнение
- WPML ElasticPress плагин Glue
Если Вы новичок на 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 Включает функцию многоязычного поиска на Вашем сайте WPML и WordPress, работающем на базе ElasticPress. Он анализирует содержимое на языке оригинала, обеспечивая его точное индексирование, и отображает релевантное содержимое для пользователей на выбранном ими языке.
WPML ElasticPress достигается за счет создания уникальных, специфических для каждого языка индексов:
- Соответствующие документы: Каждый индекс включает в себя переводы на определенный язык для всех типов записей, установленных как переводимые.
Для типов записей, настроенных на отображение переводов, если они доступны, или на возврат к языку по умолчанию, индекс включает переводы на этот язык плюс сообщения на языке по умолчанию. Для непереводимых записей каждый языковой индекс включает копию всех элементов.
- Анализ документов с учетом языка: Все документы в языковом индексе подвергаются анализу и синхронизации с помощью инструментов, стоп-слов и стемминга для данного языка. Сюда входят копии записей на языке по умолчанию.
- Пул результатов поиска: Каждый языковой индекс предоставляет пул потенциальных результатов для запросов фронтенда, списков связанных записей и т.д.
Поддерживаемые особенности 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 автоматически синхронизирует соответствующее содержимое. Он обновляет соответствующие индексы на основе языка измененного содержимого или настроек перевода для типа записи.
Индексирование с помощью WP-CLI
Если у Вас большой многоязычный сайт с большим количеством содержимого, которое необходимо проиндексировать, Вы можете предпочесть индексирование с помощью командной строки. WPML ElasticPress включает собственную команду CLI, wp wpml_elasticpress
, которая расширяет существующую командуwp elasticpress. Он добавляет опцию --post-lang
для указания языков для синхронизации. Вы можете перечислить несколько языков, разделив их запятыми. wp wpml_elasticpress sync –post-lang=en,es
Например, DeepL будет синхронизировать содержимое только на английском и испанском языках.
Полезные команды включают:
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 Glue плагин также позволяет индексировать записи только на определенных языках. Чтобы сделать это:
- Используйте команду
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.