设置OpenSearch服务
在Elasticsearch的许可更改之后,OpenSearch服务是Elasticsearch7.10.2的开源分支。 在GitHub中查看开源项目。
OpenSearch允许您从任何来源、任何格式获取数据,并实时搜索和可视化数据。
- 产品目录中的产品的快速和高级搜索
- OpenSearch分析器支持多种语言
- 支持停用词和同义词
- 在重新索引操作完成之前,索引不会影响客户
请按照以下说明在专业集成环境和入门环境(包括master
分支)上进行服务设置。
启用OpenSearch:
-
对于Starter和Pro集成环境,请将
opensearch
服务添加到具有相应版本和已分配磁盘空间(以MB为单位)的.magento/services.yaml
文件中。 在这种情况下,版本2是合适的。 不需要次要版本,因为云基础架构使用最新版本的OpenSearch。code language-yaml opensearch: type: opensearch:2 disk: 1024
对于Pro项目,您必须提交Adobe Commerce支持票证才能在暂存环境和生产环境中更改OpenSearch版本。
-
设置或验证
.magento.app.yaml
文件中的relationships
属性。code language-yaml relationships: opensearch: "opensearch:opensearch"
-
添加、提交和推送代码更改。
code language-bash git add .magento/services.yaml .magento.app.yaml
code language-bash git commit -m "Enable OpenSearch"
code language-bash git push origin <branch-name>
有关这些更改如何影响您的环境的信息,请参阅配置服务。
-
部署过程完成后,使用SSH登录到远程环境。
code language-bash magento-cloud ssh
-
重新索引目录搜索索引。
code language-bash bin/magento indexer:reindex catalogsearch_fulltext
-
清理缓存。
code language-bash bin/magento cache:clean
OpenSearch软件兼容性
在云基础架构项目上安装或升级Adobe Commerce时,请始终检查OpenSearch服务版本与Adobe Commerce的OpenSearch PHP客户端之间的兼容性。
-
首次设置 — 确认
services.yaml
文件中指定的OpenSearch版本与为Adobe Commerce配置的OpenSearch PHP客户端兼容。 -
项目升级 — 验证新应用程序版本中的OpenSearch PHP客户端是否与云基础架构上安装的OpenSearch服务版本兼容。
服务版本和兼容性支持取决于在云基础架构上测试和部署的版本,并且有时不同于Adobe Commerce内部部署支持的版本。 有关支持的版本列表,请参阅 安装指南 中的系统要求。
验证OpenSearch软件兼容性:
-
在本地工作站上,转到您的项目目录。
-
显示活动环境的OpenSearch详细信息。
code language-bash magento-cloud relationships --property=opensearch
-
或者,您可以使用SSH登录到远程环境。
code language-bash magento-cloud ssh
-
检索OpenSearch服务连接详细信息。
code language-bash vendor/bin/ece-tools env:config:show services
在响应中,查找OpenSearch服务端点的IP地址和端口:
code language-none +------------------------------------------+--------------------------------------------------------+ | opensearch: | +------------------------------------------+--------------------------------------------------------+ | username | null | | scheme | http | | service | opensearch | | fragment | null | | ip | 169.254.220.11 | | hostname | hostf75wi3sd24l.opensearch.service._.magentosite.cloud | | port | 9200 | | cluster | projectID-develop-4ranwui | | host | opensearch.internal | | rel | opensearch | | path | null | | query | | | password | null | | type | opensearch:2 | | public | false | | host_mapped | false |
-
从服务终结点检索已安装的OpenSearch服务
version:number
。code language-bash curl -XGET <opensearch-service-endpoint-ip-address>:9200
code language-json { "name" : "opensearch.0", "cluster_name" : "opensearch", "cluster_uuid" : "_yzaae6-ywSEW1MaAF8ZPWyQ", "version" : { "distribution" : "opensearch", "number" : "2.5.0", "build_type" : "deb", "build_hash" : "aaaaaaa", "build_date" : "2023-01-23T12:07:18.760675Z", "build_snapshot" : false, "lucene_version" : "9.4.2", "minimum_wire_compatibility_version" : "7.10.0", "minimum_index_compatibility_version" : "7.0.0" }, "tagline" : "The OpenSearch Project: https://opensearch.org/" }
.magento.app.yaml
和services.yaml
文件,并在票证中声明PHP版本。 有关对PHP版本、扩展或环境设置的自助更改,请参阅_应用程序配置_中的PHP设置。重新启动OpenSearch服务
如果您需要重新启动OpenSearch服务,则必须联系Adobe Commerce支持部门。
其他搜索配置
-
默认情况下,每次部署时都会重新生成云环境的搜索配置。 您可以使用
SEARCH_CONFIGURATION
部署变量来保留部署之间的自定义搜索设置。 请参阅部署变量。 -
为您的项目设置OpenSearch服务后,使用管理员UI测试OpenSearch连接并自定义Adobe Commerce的OpenSearch设置。
添加OpenSearch插件
或者,您可以通过将configuration:plugins
部分添加到.magento/services.yaml
文件中的OpenSearch服务来为OpenSearch添加插件。 例如,以下代码启用ICU分析和拼音分析插件。
opensearch:
type: opensearch:2
disk: 1024
configuration:
plugins:
- analysis-icu
- analysis-phonetic
有关插件的详细信息,请参阅OpenSearch项目。
删除OpenSearch插件
从.magento/services.yaml
文件的opensearch:
部分中删除插件条目 不会 卸载或禁用该服务。 要完全禁用该服务,必须从.magento/services.yaml
文件中删除插件后重新索引OpenSearch数据。 此设计可防止依赖这些插件的数据可能丢失或损坏。
要删除OpenSearch插件:
-
从
.magento/services.yaml
文件中删除OpenSearch插件条目。 -
添加、提交和推送代码更改。
code language-bash git add .magento/services.yaml
code language-bash git commit -m "Remove OpenSearch plugin"
code language-bash git push origin <branch-name>
-
将
.magento/services.yaml
更改提交到云存储库。 -
重新索引目录搜索索引。
code language-bash bin/magento indexer:reindex catalogsearch_fulltext
-
清理缓存。
code language-bash bin/magento cache:clean