在本页:
- 所需插件和设置
- Elasticsearch 和 ElasticPress 简介
- 如何 WPML ElasticPress工作原理
- 同步和索引内容 WPML ElasticPress
- 已知问题
- 获得我们的支持帮助
所需插件和设置
首先安装并激活以下程序:
- 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 → 同步中,您还可以访问同步设置,其中有两种索引模式。 通过这些功能,您可以将WordPress 网站的当前内容索引到 Elasticsearch,或删除 Elasticsearch 索引中的现有数据,然后使用WordPress 网站的当前内容从头开始创建新索引。
如何 WPML ElasticPress工作原理
WPML ElasticPress可在您的WPML 和由 ElasticPress 支持的WordPress 网站上实现多语言搜索功能。 它以原始语言分析内容,确保准确索引,并以用户选择的语言向其显示相关内容。
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直接与ElasticPress → Sync 中的同步仪表板集成。 该插件不运行单个同步过程,而是触发多个同步过程,多语言网站的每种语言都有一个同步过程。
无论何时创建、修改或删除帖子、 WPML ElasticPress都会自动保持相关内容同步。 它会根据修改内容的语言或帖子类型的翻译设置更新相关索引。
使用WP-CLI 索引
如果你有一个大型多语言网站,有大量内容需要索引,你可能更喜欢使用命令行索引。 WPML ElasticPress在 Windows XP 中,”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胶水插件还可以让你只索引特定语言的帖子。 要做到这一点
- 使用
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的支持论坛。