在本页:
- 所需插件和设置
- 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可在您的WPML和 ElasticPress 支持的WordPress网站上实现多语言搜索功能。 它以原始语言分析内容,确保准确索引,并以用户选择的语言向其显示相关内容。
WPML ElasticPress通过生成独特的特定语言索引来实现这一目标:
- 相关文件:每个索引都包含设置为可翻译的所有职位类型的特定语言翻译。 对于设置为在可用时显示翻译或回退到默认语言的帖子类型,索引包括该语言的翻译和默认语言的帖子。 对于不可翻译的帖子,每个语言索引都包括所有项目的副本。
- 特定语言文档分析:对语言索引中的所有文档进行分析,并使用该语言的工具、停止词和词干进行同步。 这包括默认语言的帖子副本。
- 搜索结果库:每个语言索引都为前端搜索请求、相关文章列表等提供了一个潜在结果库。
支持的 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都会自动保持相关内容同步。 它会根据修改内容的语言或帖子类型的翻译设置更新相关索引。
使用 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胶水插件还允许您只索引特定语言的帖子。 要做到这一点
- 使用
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的支持论坛。