[Alleen PaaS]{class="badge informative" title="Is alleen van toepassing op Adobe Commerce op Cloud-projecten (door Adobe beheerde PaaS-infrastructuur) en op projecten in het veld."}

Elasticsearch-service instellen

​ Elasticsearch ​ is een open-bronproduct dat u toelaat om gegevens uit om het even welke bron, om het even welk formaat, en onderzoek en visualiseer het in echt - tijd te nemen.

WARNING
Elasticsearch 7.11 en hoger wordt niet ondersteund voor Adobe Commerce op cloudinfrastructuur. Adobe Commerce-versies 2.3.7-p3, 2.4.3-p2 en 2.4.4 en hoger ondersteunen de OpenSearch-service. De installaties ter plaatse blijven Elasticsearch ondersteunen.

Voor versie 2.4.4 van Adobe Commerce en recenter, zie ​ de dienst van OpenSearch van de Opstelling ​.

  • Elasticsearch voert snelle en geavanceerde zoekopdrachten uit op producten in de productcatalogus
  • Elasticsearch Analyzers ondersteunen meerdere talen
  • Ondersteunt stopwoorden en synoniemen
  • Indexering heeft geen invloed op klanten totdat de herindexering is voltooid
TIP
Adobe raadt u aan Elasticsearch altijd in te stellen voor uw Adobe Commerce-infrastructuurproject in de cloud, zelfs als u een zoekprogramma van derden voor uw Adobe Commerce-toepassing wilt configureren. Het instellen van Elasticsearch biedt een fallback-optie voor het geval dat het zoekprogramma van derden mislukt.

Gebruik de volgende instructies voor de dienstopstelling op de milieu's van de Integratie Pro en van de Starter milieu's, met inbegrip van de master tak.

NOTE
​ leg een kaartje van de Steun van Adobe Commerce ​ voor om de de dienstconfiguratie op ProProductie en het Opvoeren milieu's te veranderen.

om Elasticsearch toe te laten:

  1. Voor Starter-projecten voegt u de service elasticsearch toe aan het .magento/services.yaml -bestand met de Elasticsearch-versie en toegewezen schijfruimte in MB.

    code language-yaml
    elasticsearch:
        type: elasticsearch:<version>
        disk: 1024
    

    Voor Pro-projecten moet u een Adobe Commerce Support-ticket indienen om de Elasticsearch-versie te wijzigen in de omgeving voor Staging en Productie.

  2. Stel de eigenschap relationships in het .magento.app.yaml -bestand in.

    code language-yaml
    relationships:
        elasticsearch: "elasticsearch:elasticsearch"
    
  3. Wijzigingen in code toevoegen, vastleggen en doorvoeren.

    code language-bash
    git add .magento/services.yaml .magento.app.yaml && git commit -m "Enable Elasticsearch" && git push origin <branch-name>
    

    Voor informatie over hoe deze veranderingen uw milieu's beïnvloeden, zie ​ Diensten ​.

  4. Nadat het plaatsingsproces voltooit, gebruik SSH aan login aan het verre milieu.

    code language-bash
    magento-cloud ssh
    
  5. Indexeer de zoekindex van de catalogus opnieuw.

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  6. Maak de cache leeg.

    code language-bash
    bin/magento cache:clean
    
TIP
Nadat u de service hebt ingesteld, kunt u de softwareversie van een geïnstalleerde service wijzigen door de configuratiebestanden van services.yaml en .magento.app.yaml bij te werken. Zie ​ de dienstversie van de Verandering ​ voor begeleiding bij de bevordering of het degraderen van de dienst.

Compatibiliteit met Elasticsearch-software

Wanneer u uw Adobe Commerce op het project van de wolkeninfrastructuur installeert of bevordert, controleert altijd verenigbaarheid tussen de de dienstversie van Elasticsearch en ​ Elasticsearch PHP ​ cliënt voor Adobe Commerce.

  • eerste opstelling - bevestig dat de versie van Elasticsearch die in het services.yaml dossier wordt gespecificeerd compatibel is met de cliënt van Elasticsearch PHP die voor Adobe Commerce wordt gevormd.

  • verbetering van het Project - verifieer dat de cliënt van Elasticsearch PHP in de nieuwe toepassingsversie compatibel is met de de dienstversie van Elasticsearch die op de wolkeninfrastructuur wordt geïnstalleerd.

Serviceversie en compatibiliteitsondersteuning voor Adobe Commerce op cloudinfrastructuur worden bepaald door versies die worden geïmplementeerd op de cloudinfrastructuur en verschillen soms van versies die worden ondersteund door Adobe Commerce-implementaties op locatie. Zie ​ versies van de Dienst ​.

om de softwareverenigbaarheid van Elasticsearch te controleren:

  1. Wijzig op uw lokale werkstation de projectmap.

  2. Geef de Elasticsearch-gegevens voor de actieve omgeving weer.

    code language-bash
    magento-cloud relationships --property=elasticsearch
    
  3. U kunt SSH ook gebruiken om u aan te melden bij de externe omgeving.

    code language-bash
    magento-cloud ssh
    
  4. Controleer de Composer-pakketversie op elasticsearch/elasticsearch .

    code language-bash
    composer show elasticsearch/elasticsearch
    

    Controleer in het antwoord de geïnstalleerde versie in de eigenschap versions .

    code language-none
    name     : elasticsearch/elasticsearch
    descrip. : PHP Client for Elasticsearch
    keywords : client, elasticsearch, search
    versions : * v7.17.1
    type     : library
    license  : Apache License 2.0 (Apache-2.0) (OSI approved) https://spdx.org/licenses/Apache-2.0.html#licenseText
    license  : GNU Lesser General Public License v2.1 only (LGPL-2.1-only) (OSI approved) https://spdx.org/licenses/LGPL-2.1-only.html#licenseText
    homepage :
    source   : [git] git@github.com:elastic/elasticsearch-php.git f1b8918f411b837ce5f6325e829a73518fd50367
    dist     : [zip] https://api.github.com/repos/elastic/elasticsearch-php/zipball/f1b8918f411b837ce5f6325e829a73518fd50367 f1b8918f411b837ce5f6325e829a73518fd50367
    path     : ~/vendor/elasticsearch/elasticsearch
    names    : elasticsearch/elasticsearch
    

    U kunt ook de Elasticsearch PHP client version vinden in het composer.lock bestand in de root directory van de omgeving.

  5. Haal de gegevens van de Elasticsearch-serviceverbinding op de opdrachtregel op.

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

    In de reactie, vind het IP adres voor het de diensteindpunt van Elasticsearch:

    code language-none
    | elasticsearch:                                                                                                  |
    +------------------------------------------+----------------------------------------------------------------------+
    | username                                 | null                                                                 |
    | scheme                                   | http                                                                 |
    | service                                  | elasticsearch                                                        |
    | fragment                                 | null                                                                 |
    | ip                                       | 169.254.220.11                                                       |
    | hostname                                 | dzggu33f75wi3sd24lgwtoupxm.elasticsearch.service._.magentosite.cloud |
    | public                                   | false                                                                |
    | cluster                                  | fo3qdoxtla4j4-master-7rqtwti                                         |
    | host                                     | elasticsearch.internal                                               |
    | rel                                      | elasticsearch                                                        |
    | query                                    |                                                                      |
    | path                                     | null                                                                 |
    | password                                 | null                                                                 |
    | type                                     | elasticsearch:6.5                                                    |
    | port                                     | 9200                                                                 |
    +------------------------------------------+----------------------------------------------------------------------+
    
  6. Haal de geïnstalleerde Elasticsearch-service version:number op van het eindpunt van de service.

    code language-bash
    curl -XGET <elasticsearch-service-endpoint-ip-address>:9200/
    
    code language-json
    {
       "name" : "-AqGi9D",
       "cluster_name" : "elasticsearch",
       "cluster_uuid" : "_yze6-ywSEW1MaAF8ZPWyQ",
       "version" : {
         "number" : "6.5.4",
         "build_flavor" : "default",
         "build_type" : "deb",
         "build_hash" : "82a8aa7",
         "build_date" : "2019-01-23T12:07:18.760675Z",
         "build_snapshot" : false,
         "lucene_version" : "7.5.0",
         "minimum_wire_compatibility_version" : "5.6.0",
         "minimum_index_compatibility_version" : "5.0.0"
    },
    "  tagline" : "You Know, for Search"
    }
    
  7. Controleer de versiecompatibiliteit tussen de Elasticsearch service en de PHP client.

    Als de versies incompatibel zijn, voert u een van de volgende updates uit in uw omgevingsconfiguratie:

    • Wijzig de Elasticsearch PHP client in een versie die compatibel is met de Elasticsearch service version.

      code language-bash
      composer require "elasticsearch/elasticsearch:~<version>"
      
    • Wijzig de Elasticsearch-serviceversie in het services.yaml -bestand in een versie die compatibel is met de Elasticsearch PHP-client.

recommendation-more-help
  • Voor Pro projecten, moet u ​ een kaartje van de Steun van Adobe Commerce ​ voorleggen om ​ diensten ​ in Staging en Production slechts milieu's te installeren of bij te werken.

  • Geef aan welke servicewijzigingen nodig zijn, neem de bijgewerkte .magento.app.yaml - en services.yaml -bestanden op en geef de PHP-versie op in het ticket. Voor zelfbedienings veranderingen in PHP versie, uitbreidingen, of milieu montages, zie ​ PHP montages ​ in configuratie van de Toepassing.

  • Voor veranderingen in een levende milieu van de Productie (slechts Pro), wordt een minimum van 48 uurverklaring vereist. Hierdoor kan het infrastructuurteam van de cloud voldoende tijd krijgen om bronnen te bundelen en een veilige upgrade uit te voeren. De opzegtermijn begint wanneer het infrastructuurteam de aanvraag erkent en de upgrade plant, met uitzondering van weekends. Bijvoorbeeld, om de dienstverbeteringen te hebben op een maandag worden voltooid, moet een erkenning van de geplande verbetering tegen Woensdag worden ontvangen. Tijdens piekvraagperiodes, zou het meer tijd kunnen vergen om uw verzoek te verwerken.

De Elasticsearch-service opnieuw starten

Als u de ​ dienst van Elasticsearch ​ moet opnieuw beginnen, moet u de steun van Adobe Commerce contacteren.

Aanvullende zoekconfiguratie

  • Standaard wordt de zoekconfiguratie voor Cloud-omgevingen telkens opnieuw gegenereerd wanneer u deze implementeert. Met de implementatievariabele van SEARCH_CONFIGURATION kunt u aangepaste zoekinstellingen tussen implementaties behouden. Zie ​ variabelen opstellen ​.

  • Nadat u de Elasticsearch-service voor uw project hebt ingesteld, gebruikt u de beheerinterface om de Elasticsearch-verbinding te testen en Elasticsearch-instellingen voor Adobe Commerce aan te passen.

Plug-ins voor Elasticsearch toevoegen

U kunt desgewenst plug-ins voor Elasticsearch toevoegen door de sectie configuration:plugins toe te voegen aan de Elasticsearch-service in het .magento/services.yaml -bestand. Met de volgende code worden bijvoorbeeld de insteekmodules voor ICU-analyse en Fonetische analyse ingeschakeld.

elasticsearch:
    type: elasticsearch:<service-version>
    disk: 1024
    configuration:
        plugins:
            - analysis-icu
            - analysis-phonetic

Als u de Elastic Suite derdestop gebruikt, moet u ​ het ece-tools pakket ​ aan versie 2002.0.19 of later bijwerken.
Als u Elastic Suite instelt, voegt u de configuratie-instellingen toe aan de implementatievariabele van ELASTICSUITE_CONFIGURATION . Deze configuratie bewaart de montages over plaatsingen.

Plug-ins voor Elasticsearch verwijderen

Als u de insteekmodules verwijdert uit elasticsearch: in .magento/services.yaml , worden deze niet zoals u zou verwachten verwijderd of uitgeschakeld. U moet de Elasticsearch-gegevens opnieuw indexeren. Dit gedrag is opzettelijk bedoeld om mogelijk verlies of beschadiging van gegevens te voorkomen die afhankelijk zijn van deze plug-ins.

om de insteekmodules van Elasticsearch te verwijderen:

  1. Verwijder de Elasticsearch-insteekmodules uit uw .magento/services.yaml -bestand.

  2. U kunt wijzigingen in de code toevoegen, doorvoeren en doorvoeren.

    code language-bash
    git add .magento/services.yaml
    
    code language-bash
    git commit -m "Remove Elasticsearch plugin"
    
    code language-bash
    git push origin <branch-name>
    
  3. Leg de .magento/services.yaml -wijzigingen vast in uw Cloud-repo.

  4. Indexeer de zoekindex van de catalogus opnieuw.

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  5. Maak de cache leeg.

    code language-bash
    bin/magento cache:clean
    
TIP
Voor details bij het gebruiken van of het oplossen van problemen van de Insteekmodule Elastic Suite met Adobe Commerce, zie de ​ documentatie van de Elastic Suite ​.
7c2b03ac-000c-497d-aba3-2c6dc720a938