Einrichten des OpenSearch-Dienstes

Der Dienst OpenSearch ist eine Open-Source-Abspaltung von Elasticsearch 7.10.2, die den Lizenzänderungen für Elasticsearch folgt. Siehe das OpenSource-Projekt in GitHub.

WARNING
Elasticsearch 7.11 und höher wird für Adobe Commerce in der Cloud-Infrastruktur nicht unterstützt. Adobe Commerce-Versionen 2.3.7-p3, 2.4.3-p2, 2.4.4 und höher unterstützen den OpenSearch-Dienst. Die Vor-Ort-Anlagen unterstützen weiterhin Elasticsearch.

Mit OpenSearch können Sie Daten aus beliebigen Quellen und beliebigen Formaten aufnehmen und in Echtzeit suchen und visualisieren.

  • Schnelle und erweiterte Suchen nach Produkten im Produktkatalog
  • OpenSearch-Analyzer unterstützen mehrere Sprachen
  • Unterstützt Stoppwörter und Synonyme
  • Die Indizierung hat keine Auswirkungen auf Kunden, bis der Neuindizierungsvorgang abgeschlossen ist

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

NOTE
Senden Sie ein Adobe Commerce-Support-Ticket , um die Dienstkonfiguration in Pro Production- und Staging-Umgebungen zu ändern.
TIP
Adobe empfiehlt, OpenSearch immer für Ihr Adobe Commerce-Projekt in der Cloud-Infrastruktur einzurichten, selbst wenn Sie ein Tool für die Drittanbietersuche für Ihre Adobe Commerce-Anwendung konfigurieren möchten. Das Einrichten von OpenSearch bietet eine Ausweichoption, wenn das Suchwerkzeug eines Drittanbieters fehlschlägt.

So aktivieren Sie OpenSearch:

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

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

    Für Pro-Projekte müssen Sie ein Adobe Commerce-Supportticket senden , um die OpenSearch-Version in den Staging- und Produktionsumgebungen zu ändern.

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

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

    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 dazu, wie sich diese Änderungen auf Ihre Umgebungen auswirken, finden Sie unter Konfigurieren von Diensten.

  4. Nachdem der Bereitstellungsprozess abgeschlossen ist, melden Sie sich mit SSH bei der Remote-Umgebung an.

    code language-bash
    magento-cloud ssh
    
  5. Indizieren Sie den Index der Katalogsuche neu.

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

    code language-bash
    bin/magento cache:clean
    
TIP
Nach der Ersteinrichtung des Dienstes können Sie die Softwareversion für einen installierten Dienst ändern, indem Sie die Konfigurationsdateien services.yaml und .magento.app.yaml aktualisieren. Eine Anleitung zum Aktualisieren oder Herunterstufen eines Dienstes finden Sie unter Dienstversion ändern .

OpenSearch-Softwarekompatibilität

Wenn Sie Adobe Commerce in einem Cloud-Infrastrukturprojekt installieren oder aktualisieren, prüfen Sie immer, ob die OpenSearch-Dienstversion mit dem OpenSearch PHP-Client für Adobe Commerce kompatibel ist.

  • Erstmaliges Setup - Vergewissern Sie sich, dass die in der Datei 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-Dienstversion kompatibel ist.

Die Unterstützung von Dienstversionen und Kompatibilität wird durch Versionen bestimmt, die in der Cloud-Infrastruktur getestet und bereitgestellt werden. Manchmal unterscheidet sich die Unterstützung von Versionen, die von lokalen Adobe Commerce-Implementierungen unterstützt werden. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen im Installationshandbuch .

Überprüfen der Kompatibilität der OpenSearch-Software:

  1. Wechseln Sie auf Ihrer lokalen Workstation zum Projektverzeichnis.

  2. Zeigen Sie die OpenSearch-Details für die aktive Umgebung an.

    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-Dienstes 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 Endpunkt des OpenSearch-Dienstes:

    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 den installierten OpenSearch-Dienst version:number vom Dienstendpunkt 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
Für Pro-Projekte müssen Sie ein Adobe Commerce-Support-Ticket senden, um Dienste nur in Staging - und Production -Umgebungen zu installieren oder zu aktualisieren.
Geben Sie die erforderlichen Dienständerungen an, fügen Sie Ihre aktualisierten Dateien .magento.app.yaml und services.yaml 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 in Anwendungskonfiguration.
Für Änderungen an einer Live-Produktionsumgebung (Nur Pro) ist eine Benachrichtigung über mindestens 48 Stunden erforderlich. Dadurch kann das Cloud-Infrastruktur-Team ausreichend Zeit für die Mobilisierung von Ressourcen und die Durchführung eines sicheren Upgrades erhalten. Der Benachrichtigungszeitraum beginnt, wenn das Infrastrukturteam die Anfrage bestätigt und das Upgrade plant, mit Ausnahme der Wochenenden. Damit beispielsweise Dienstaktualisierungen am Montag abgeschlossen werden können, muss bis Mittwoch eine Bestätigung des geplanten Upgrades eingehen. In Spitzenlastzeiten kann es länger dauern, Ihre Anfrage zu verarbeiten.

Starten Sie den OpenSearch-Dienst neu

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

Zusätzliche Suchkonfiguration

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

  • Nachdem Sie den OpenSearch-Dienst 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.

Hinzufügen von Plug-ins für OpenSearch

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

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

Weitere Informationen zu Plug-ins finden Sie im OpenSearch-Projekt .

Entfernen von Plug-ins für OpenSearch

Wenn Sie die Plug-in-Einträge aus dem Abschnitt opensearch: der Datei .magento/services.yaml entfernen, wird der Dienst nicht deinstalliert 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ängig sind.

So entfernen Sie OpenSearch-Plug-ins:

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

  2. Fügen Sie Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie.

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

  4. Indizieren Sie den Index der Katalogsuche neu.

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

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