Einrichten des OpenSearch-Service

Der OpenSearch-Service ist eine Open-Source-Version von Elasticsearch 7.10.2, die auf die Lizenzänderungen für Elasticsearch folgt. Siehe OpenSource-Projekt in GitHub.

WARNING
Elasticsearch 7.11 und höher wird für Adobe Commerce in Cloud-Infrastrukturen nicht unterstützt. Die Adobe Commerce-Versionen 2.3.7-p3, 2.4.3-p2 und 2.4.4 und höher unterstützen den OpenSearch-Service. Die lokalen Installationen unterstützen weiterhin das Elasticsearch.

OpenSearch ermöglicht es Ihnen, Daten aus beliebigen Quellen und Formaten zu suchen und in Echtzeit zu visualisieren.

  • Schnelle und erweiterte Suche nach Produkten im Produktkatalog
  • OpenSearch Analyzer unterstützt mehrere Sprachen
  • Unterstützt Stoppwörter und Synonyme
  • Die Indizierung wirkt sich erst dann auf Kunden aus, wenn der Neuindizierungsvorgang abgeschlossen ist

Verwenden Sie die folgenden Anweisungen für die Einrichtung des Services in Pro Integration-Umgebungen und Starter-Umgebungen, einschließlich der master.

NOTE
Senden eines Adobe Commerce Support-Tickets um die Service-Konfiguration in Pro-Produktions- und Staging-Umgebungen zu ändern.
TIP
Adobe empfiehlt, OpenSearch für Ihr Adobe Commerce on Cloud-Infrastrukturprojekt immer einzurichten, auch wenn Sie ein Drittanbieter-Suchwerkzeug für Ihr Adobe Commerce-Programm konfigurieren möchten. Das Einrichten von OpenSearch bietet eine Fallback-Option, wenn das Drittanbieter-Such-Tool fehlschlägt.

So aktivieren Sie OpenSearch:

  1. Fügen Sie für Starter- und Pro-Integrationsumgebungen den opensearch-Service zur .magento/services.yaml-Datei mit der entsprechenden Version und zugewiesenem Speicherplatz in MB hinzu. In diesem Fall ist Version 2 geeignet. Die Nebenversion ist nicht erforderlich, da die Cloud-Infrastruktur die neueste Version von OpenSearch verwendet.

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

    Bei Pro-Projekten müssen Sie ein Adobe Commerce-Support-Ticket einreichen, um die OpenSearch-Version in der Staging- und Produktionsumgebung zu ändern.

  2. Legen Sie die relationships-Eigenschaft in der .magento.app.yaml fest oder überprüfen Sie sie.

    code language-yaml
    relationships:
        opensearch: "opensearch:opensearch"
    
  3. Code-Änderungen hinzufügen, übertragen und per Push übertragen.

    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>
    

    Informationen darüber, wie sich diese Änderungen auf Ihre Umgebungen auswirken, finden Sie unter Konfigurieren von Services.

  4. Verwenden Sie nach Abschluss des Bereitstellungsprozesses SSH, um sich bei der Remote-Umgebung anzumelden.

    code language-bash
    magento-cloud ssh
    
  5. Indizieren Sie den Katalogsuchindex neu.

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  6. Reinigen Sie den Cache.

    code language-bash
    bin/magento cache:clean
    
TIP
Nach der Ersteinrichtung des Service können Sie die Softwareversion für einen installierten Service ändern, indem Sie die services.yaml und .magento.app.yaml Konfigurationsdateien aktualisieren. Unter Ändern der Service-Version finden Sie Anleitungen zum Aktualisieren oder Herunterstufen eines Services.

OpenSearch-Software-Kompatibilität

Wenn Sie Ihr Adobe Commerce in einem Cloud-Infrastrukturprojekt installieren oder aktualisieren, überprüfen Sie immer die Kompatibilität zwischen der Version des OpenSearch-Service und dem OpenSearch PHP-Client für Adobe Commerce.

  • Erstmaliges Setup-Bestätigen Sie, dass die in der services.yaml angegebene OpenSearch-Version mit dem für Adobe Commerce konfigurierten OpenSearch PHP-Client kompatibel ist.

  • Projekt-Upgrade-Überprüfen Sie, ob der OpenSearch PHP-Client in der neuen Anwendungsversion mit der in der Cloud-Infrastruktur installierten OpenSearch-Service-Version kompatibel ist.

Die Unterstützung der Service-Version und -Kompatibilität hängt von den Versionen ab, die in der Cloud-Infrastruktur getestet und bereitgestellt werden, und unterscheidet sich manchmal von den Versionen, die von Adobe Commerce On-Premise-Bereitstellungen unterstützt werden. Siehe Systemanforderungen im Installationshandbuch für eine Liste der unterstützten Versionen.

So überprüfen Sie die Kompatibilität der OpenSearch-Software:

  1. Wechseln Sie auf Ihrer lokalen Workstation in Ihr Projektverzeichnis.

  2. OpenSearch-Details für die aktive Umgebung anzeigen.

    code language-bash
    magento-cloud relationships --property=opensearch
    
  3. Alternativ können Sie SSH verwenden, um sich bei der Remote-Umgebung anzumelden.

    code language-bash
    magento-cloud ssh
    
  4. Rufen Sie die Verbindungsdetails des OpenSearch-Service ab.

    code language-bash
    vendor/bin/ece-tools env:config:show services
    

    Suchen Sie in der Antwort die IP-Adresse und den Port für den OpenSearch-Service-Endpunkt:

    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. Rufen Sie die installierte OpenSearch-Service-version:number vom Service-Endpunkt ab.

    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
Bei Pro-Projekten müssen Sie ein Adobe Commerce-Support-Ticket einreichen um Services nur in Staging und Production zu installieren oder zu aktualisieren.
Geben Sie an, welche Service-Änderungen erforderlich sind, schließen Sie Ihre aktualisierten .magento.app.yaml- und services.yaml-Dateien ein und geben Sie die PHP-Version im Ticket an. Informationen zu Self-Service-Änderungen an PHP-Versionen, Erweiterungen oder Umgebungseinstellungen finden Sie unter PHP-Einstellungen unter Anwendungskonfiguration.
Bei Änderungen an einer Live-Produktionsumgebung nur Pro ist eine Vorankündigung von mindestens 48 Stunden erforderlich. Dadurch hat das Cloud-Infrastruktur-Team genügend Zeit, Ressourcen zu mobilisieren und ein sicheres Upgrade durchzuführen. Die Kündigungsfrist beginnt, wenn das Infrastruktur-Team die Anfrage bestätigt und das Upgrade plant, mit Ausnahme der Wochenenden. Damit beispielsweise Service-Upgrades an einem Montag abgeschlossen werden, muss bis Mittwoch eine Bestätigung des geplanten Upgrades empfangen werden. In Spitzenzeiten kann die Verarbeitung Ihrer Anfrage länger dauern.

Starten Sie den OpenSearch-Service neu.

Wenn Sie den OpenSearch-Service neu starten müssen, wenden Sie sich an den Adobe Commerce-Support.

Zusätzliche Suchkonfiguration

  • Standardmäßig wird die Suchkonfiguration für Cloud-Umgebungen bei jeder Bereitstellung neu generiert. Sie können die Variable SEARCH_CONFIGURATION-Bereitstellung verwenden, um benutzerdefinierte Sucheinstellungen zwischen Bereitstellungen beizubehalten. Siehe Bereitstellen von Variablen.

  • Nachdem Sie den OpenSearch-Service für Ihr Projekt eingerichtet haben, verwenden Sie die Admin-Benutzeroberfläche, um die OpenSearch-Verbindung zu testen und die OpenSearch-Einstellungen für Adobe Commerce anzupassen.

Plug-ins für OpenSearch hinzufügen

Optional können Sie Plug-ins für OpenSearch hinzufügen, indem Sie den configuration:plugins Abschnitt zum OpenSearch-Service in der .magento/services.yaml-Datei hinzufügen. Beispielsweise aktiviert der folgende Code die Plug-ins für die ICU-Analyse und die phonetische Analyse .

opensearch:
    type: opensearch:2
    disk: 1024
    configuration:
        plugins:
            - analysis-icu
            - analysis-phonetic

Siehe das OpenSearch-Projekt für weitere Informationen zu Plug-ins.

Entfernen von Plug-ins für OpenSearch

Wenn Sie die Plug-in-Einträge aus dem Abschnitt opensearch: der .magento/services.yaml-Datei entfernen wird der Service nicht oder deaktiviert. Um den Dienst vollständig zu deaktivieren, müssen Sie Ihre OpenSearch-Daten neu indizieren, nachdem Sie die Plug-ins aus Ihrer .magento/services.yaml-Datei entfernt haben. Dieses Design verhindert den möglichen Verlust oder die Beschädigung von Daten, die von diesen Plug-ins abhängt.

So entfernen Sie OpenSearch-Plug-ins:

  1. Entfernen Sie die OpenSearch-Plug-in-Einträge aus Ihrer .magento/services.yaml.

  2. Code-Änderungen hinzufügen, übertragen und per Push übertragen.

    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. Übertragen Sie die .magento/services.yaml Änderungen in Ihr Cloud-Repository.

  4. Indizieren Sie den Katalogsuchindex neu.

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  5. Reinigen Sie den Cache.

    code language-bash
    bin/magento cache:clean
    
recommendation-more-help
7c2b03ac-000c-497d-aba3-2c6dc720a938