跳过导航

Home » WPML文档 » 相关项目 » 在多语言网站上使用 ElasticPress

WPML ElasticPress- 优化多语言WordPress网站的搜索体验

WPML ElasticPress允许您将 Elasticsearch 的强大功能添加到您的多语言WordPress网站中。 让您的服务器满意,确保您网站的访问者能用自己的语言快速找到所需内容。

主要功能

为每种语言生成索引,确保搜索结果和相关文章与网站访问者的语言相匹配

将 ElasticPress 的搜索功能扩展到WPML网站上的所有语言

与 ElasticPress Sync 面板无缝集成,实现特定语言同步

同步并分析每种语言的内容,以实现准确的索引和可搜索性

在本页:

所需插件和设置

首先安装并激活以下程序:

如果您是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可在您的WPML和 ElasticPress 支持的WordPress网站上实现多语言搜索功能。 它以原始语言分析内容,确保准确索引,并以用户选择的语言向其显示相关内容。

WPML ElasticPress通过生成独特的特定语言索引来实现这一目标:

  1. 相关文件:每个索引都包含设置为可翻译的所有职位类型的特定语言翻译。 对于设置为在可用时显示翻译或回退到默认语言的帖子类型,索引包括该语言的翻译和默认语言的帖子。 对于不可翻译的帖子,每个语言索引都包括所有项目的副本。
  2. 特定语言文档分析:对语言索引中的所有文档进行分析,并使用该语言的工具、停止词和词干进行同步。 这包括默认语言的帖子副本。
  3. 搜索结果库:每个语言索引都为前端搜索请求、相关文章列表等提供了一个潜在结果库。

支持的 ElasticPress 功能

目前,WPML ElasticPress支持以下 ElasticPress 功能:

  • 用于前端搜索的帖子 搜索
  • 相关文章,使用 ElasticPress 提供的小工具
  • 用于后台搜索的术语评论用户

开始使用WPML ElasticPress

由于WPML ElasticPress会为每种语言生成索引,我们建议您在安装WPML ElasticPress和/或将WPML ElasticPress ElasticPress 从 1.0 版升级到 2.0 版后,重新为文章建立索引。
请注意,如果您的网站规模较大,此过程可能需要几个小时

您可以通过WordPress管理员或使用以下命令来完成此操作:

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

使用WPML ElasticPress同步和索引内容

WPML ElasticPress ElasticPress ElasticPress → Syn c 中的同步仪表板直接集成该插件不运行单一的同步过程,而是触发多个同步过程,多语言网站的每种语言都有一个同步过程。

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 个项目为一批同步所有内容,而不是 ElasticPress 默认设置的每批 350 个项目。
  • 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 3 月, 2024