Service Elasticsearch instellen

Elasticsearchis 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 steunen.

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

  • Elasticsearch voeren 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
De Adobe raadt u aan altijd Elasticsearch voor uw Adobe Commerce op het project van de wolkeninfrastructuur te vestigen zelfs als u van plan bent om een derdezoekhulpmiddel voor uw toepassing van Adobe Commerce te vormen. De Elasticsearch van de vestiging verstrekt een reserveoptie in het geval dat het derdeonderzoekshulpmiddel ontbreekt.

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 Commercevoor 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 versie van de Elasticsearch en toegewezen schijfruimte in MB.

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

    Voor Pro projecten, moet u een kaartje van de Steun van Adobe Commerce voorleggen om de versie van de Elasticsearch in de het Staging en milieu's van de Productie te veranderen.

  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 Veranderingvoor begeleiding bij de bevordering of het degraderen van de dienst.

Compatibiliteit met Elasticsearch-software

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

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

  • verbetering van het Project - verifieer dat de Elasticsearch PHP cliënt in de nieuwe toepassingsversie compatibel is met de de dienstversie van de 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 de Elasticsearch te controleren:

  1. Wijzig op uw lokale werkstation de projectmap.

  2. De details van de Elasticsearch weergeven voor de actieve omgeving.

    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
    

    Bovendien kunt u de Elasticsearch PHP clientversie vinden in het composer.lock -bestand in de basismap van de omgeving.

  5. Haal de verbindingsgegevens van de Elasticsearch-service op vanaf de opdrachtregel.

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

    In de reactie, vind het IP adres voor het de diensteindpunt van de 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 dienst van de Elasticsearch version:number van het de diensteindpunt terug.

    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:

    • Verander de Elasticsearch PHP cliënt in een versie die met de de dienstversie van de Elasticsearch compatibel is.

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

TIP
Voor Pro projecten, moet u een kaartje van de Steun van Adobe Commercevoorleggen om dienstenin 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 montagesin 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 service Elasticsearch opnieuw starten

Als u de dienst van de Elasticsearchmoet 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 opstelling de dienst van de Elasticsearch voor uw project, gebruik Admin UI om de verbinding van de Elasticsearch te testen en Elasticsearch montages voor Adobe Commerce aan te passen.

Plug-ins toevoegen voor Elasticsearch

U kunt desgewenst insteekmodules voor Elasticsearch toevoegen door de sectie configuration:plugins toe te voegen aan de service Elasticsearch 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 pakketaan 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 gegevens van uw Elasticsearch opnieuw indexeren. Dit gedrag is opzettelijk bedoeld om mogelijk verlies of beschadiging van gegevens te voorkomen die afhankelijk zijn van deze plug-ins.

om Elasticsearch stop-ins te verwijderen:

  1. Verwijder de insteekmodules van de Elasticsearch uit het .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.

Problemen oplossen

Raadpleeg de volgende Adobe Commerce Support-artikelen voor hulp bij het oplossen van problemen met de Elasticsearch:

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26