設定OpenSearch服務

在Elasticsearch的授權變更後,OpenSearch服務是Elasticsearch7.10.2的開放原始碼復本。 檢視GitHub中的OpenSource專案

WARNING
雲端基礎結構上的Adobe Commerce不支援Elasticsearch7.11和更新版本。 Adobe Commerce版本2.3.7-p3、2.4.3-p2以及2.4.4和更新版本支援OpenSearch服務。 內部部署安裝仍支援Elasticsearch。

OpenSearch可讓您從任何來源、任何格式取得資料,並即時搜尋和視覺化資料。

  • 產品目錄中的產品的快速和進階搜尋
  • OpenSearch分析器支援多種語言
  • 支援停用字和同義字
  • 在重新索引操作完成之前,索引不會影響客戶

使用下列指示在Pro整合環境與入門環境(包括master分支)上進行服務設定。

NOTE
提交Adobe Commerce支援票證以變更Pro生產和中繼環境上的服務組態。
TIP
Adobe建議您一律在雲端基礎結構專案中為您的Adobe Commerce設定OpenSearch,即使您計畫為您的Adobe Commerce應用程式設定協力廠商搜尋工具亦然。 如果協力廠商搜尋工具失敗,設定OpenSearch可提供後援選項。

若要啟用OpenSearch

  1. 若為Starter和Pro整合環境,請將opensearch服務新增至.magento/services.yaml檔案,並提供適當的版本和配置的磁碟空間(以MB為單位)。 在這種情況下,版本2是合適的。 不需要次要版本,因為雲端基礎結構使用最新版的OpenSearch。

    code language-yaml
    opensearch:
        type: opensearch:2
        disk: 1024
    

    對於Pro專案,您必須提交Adobe Commerce支援票證才能在測試和生產環境中變更OpenSearch版本。

  2. 設定或驗證.magento.app.yaml檔案中的relationships屬性。

    code language-yaml
    relationships:
        opensearch: "opensearch:opensearch"
    
  3. 新增、提交和推送程式碼變更。

    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>
    

    如需這些變更如何影響您環境的詳細資訊,請參閱設定服務

  4. 部署程式完成後,請使用SSH登入遠端環境。

    code language-bash
    magento-cloud ssh
    
  5. 重新索引目錄搜尋索引。

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  6. 清除快取。

    code language-bash
    bin/magento cache:clean
    
TIP
初始服務安裝之後,您可以更新services.yaml.magento.app.yaml組態檔,以變更已安裝服務的軟體版本。 請參閱變更服務版本以取得升級或降級服務的指引。

OpenSearch軟體相容性

在雲端基礎結構專案上安裝或升級Adobe Commerce時,請務必檢查OpenSearch服務版本與Adobe Commerce的OpenSearch PHP使用者端之間的相容性。

  • 首次安裝 — 確認services.yaml檔案中指定的OpenSearch版本與為Adobe Commerce設定的OpenSearch PHP使用者端相容。

  • 專案升級 — 確認新應用程式版本中的OpenSearch PHP使用者端與安裝在雲端基礎結構上的OpenSearch服務版本相容。

服務版本和相容性支援取決於在雲端基礎結構上測試和部署的版本,有時與Adobe Commerce內部部署支援的版本不同。 如需支援的版本清單,請參閱​ 安裝指南 ​中的系統需求

若要驗證OpenSearch軟體相容性

  1. 在本機工作站上,變更至專案目錄。

  2. 顯示使用中環境的OpenSearch詳細資訊。

    code language-bash
    magento-cloud relationships --property=opensearch
    
  3. 或者,您可以使用SSH登入遠端環境。

    code language-bash
    magento-cloud ssh
    
  4. 擷取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                                                  |
    
  5. 從服務端點擷取已安裝的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/"
    }
    
TIP
對於Pro專案,您必須提交Adobe Commerce支援票證,才能僅在StagingProduction環境中安裝或更新服務
指示所需的服務變更,包括更新的.magento.app.yamlservices.yaml檔案,並在票證中說明PHP版本。 如需自行變更PHP版本、擴充功能或環境設定,請參閱​_應用程式組態_​中的PHP設定
若要變更​_即時_​生產環境(僅限Pro),您必須至少提供48小時的通知,讓雲端基礎結構團隊有足夠的時間封送資源並進行安全升級。

重新啟動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外掛程式

  1. 從您的.magento/services.yaml檔案移除OpenSearch外掛程式專案。

  2. 新增、提交和推送您的程式碼變更。

    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>
    
  3. .magento/services.yaml變更提交至您的雲端存放庫。

  4. 重新索引目錄搜尋索引。

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  5. 清除快取。

    code language-bash
    bin/magento cache:clean
    
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26