Konfigurera tjänsten Elasticsearch
Elasticsearch är en öppen källkodsprodukt som gör att du kan hämta data från alla källor, alla format och söka efter och visualisera den i realtid.
Information om Adobe Commerce version 2.4.4 och senare finns i Konfigurera OpenSearch-tjänsten.
- Elasticsearch gör snabba och avancerade sökningar i produktkatalogen
- Elasticsearch Analyzers har stöd för flera språk
- Stöder stoppord och synonymer
- Indexeringen påverkar inte kunderna förrän omindexeringsåtgärden har slutförts
Använd följande instruktioner för tjänstkonfiguration i Pro Integration-miljöer och Starter-miljöer, inklusive grenen master
.
Så här aktiverar du Elasticsearch:
-
För startprojekt lägger du till tjänsten
elasticsearch
i filen.magento/services.yaml
med Elasticsearch-versionen och allokerat diskutrymme i MB.code language-yaml elasticsearch: type: elasticsearch:<version> disk: 1024
För Pro-projekt måste du skicka in en Adobe Commerce Support-biljett för att ändra Elasticsearch-versionen i mellanlagrings- och produktionsmiljöerna.
-
Ange egenskapen
relationships
i filen.magento.app.yaml
.code language-yaml relationships: elasticsearch: "elasticsearch:elasticsearch"
-
Lägg till, implementera och push-ändra kod.
code language-bash git add .magento/services.yaml .magento.app.yaml && git commit -m "Enable Elasticsearch" && git push origin <branch-name>
Mer information om hur dessa ändringar påverkar dina miljöer finns i Tjänster.
-
När distributionen är klar använder du SSH för att logga in på fjärrmiljön.
code language-bash magento-cloud ssh
-
Indexera om indexet för katalogsökning.
code language-bash bin/magento indexer:reindex catalogsearch_fulltext
-
Rensa cachen.
code language-bash bin/magento cache:clean
services.yaml
och .magento.app.yaml
. Mer information om hur du uppgraderar eller nedgraderar en tjänst finns i Ändra tjänstversion.Kompatibilitet med Elasticsearch-program
När du installerar eller uppgraderar din Adobe Commerce i ett molninfrastrukturprojekt ska du alltid kontrollera om det finns kompatibilitet mellan Elasticsearch-tjänstversionen och Elasticsearch PHP -klienten för Adobe Commerce.
-
Första gången du installerar - Bekräfta att Elasticsearch-versionen som anges i filen
services.yaml
är kompatibel med Elasticsearch PHP-klienten som är konfigurerad för Adobe Commerce. -
Projektuppgradering-Kontrollera att PHP-klienten i Elasticsearch i den nya programversionen är kompatibel med tjänstversionen i Elasticsearch som är installerad i molninfrastrukturen.
Tjänstversion och kompatibilitetsstöd för Adobe Commerce i molninfrastruktur avgörs av vilka versioner som distribueras i molninfrastrukturen, och skiljer sig ibland från de versioner som stöds av Adobe Commerce lokala distributioner. Se Tjänstversioner.
Så här kontrollerar du kompatibiliteten för Elasticsearch-program:
-
Byt till din projektkatalog på din lokala arbetsstation.
-
Visa information om Elasticsearch för den aktiva miljön.
code language-bash magento-cloud relationships --property=elasticsearch
-
Du kan också använda SSH för att logga in på fjärrmiljön.
code language-bash magento-cloud ssh
-
Kontrollera Composer-paketets version för
elasticsearch/elasticsearch
.code language-bash composer show elasticsearch/elasticsearch
Kontrollera den installerade versionen i egenskapen
versions
i svaret.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
Du kan också hitta Elasticsearch PHP-klientversionen i filen
composer.lock
i miljöns rotkatalog. -
Hämta tjänstanslutningsinformationen för Elasticsearch från kommandoraden.
code language-bash vendor/bin/ece-tools env:config:show services
I svaret hittar du IP-adressen för Elasticsearch-tjänstslutpunkten:
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 | +------------------------------------------+----------------------------------------------------------------------+
-
Hämta den installerade Elasticsearch-tjänsten
version:number
från tjänstslutpunkten.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" }
-
Kontrollera versionskompatibiliteten mellan Elasticsearch och PHP-klienten.
Om versionerna inte är kompatibla gör du någon av följande uppdateringar av din miljökonfiguration:
-
Ändra Elasticsearch PHP-klienten till en version som är kompatibel med Elasticsearch.
code language-bash composer require "elasticsearch/elasticsearch:~<version>"
-
Ändra tjänstversionen för Elasticsearch i filen
services.yaml
till en version som är kompatibel med Elasticsearch PHP-klienten.
-
-
För Pro-projekt måste du skicka en Adobe Commerce Support-biljett om du bara vill installera eller uppdatera tjänster i
Staging
- ochProduction
-miljöer. -
Ange vilka tjänständringar som krävs, inkludera dina uppdaterade
.magento.app.yaml
- ochservices.yaml
-filer och ange PHP-versionen i biljetten. Om du vill göra ändringar i PHP-version, tillägg eller miljöinställningar för självbetjäning läser du PHP-inställningar i Programkonfiguration. -
För ändringar i en aktiv produktionsmiljö (endast Pro) krävs minst 48 timmars varsel. Detta ger molninfrastruktursteamet tillräckligt med tid för att samla in resurser och genomföra en säker uppgradering. Anmälningsperioden börjar när infrastrukturteamet godkänner begäran och schemalägger uppgraderingen, exklusive helger. Om du t.ex. vill att uppgraderingarna ska vara klara på måndag måste du få en bekräftelse på den schemalagda uppgraderingen senast på onsdagen. Under perioder med hög efterfrågan kan det ta längre tid att behandla din begäran.
Starta om tjänsten Elasticsearch
Om du behöver starta om tjänsten Elasticsearch måste du kontakta Adobe Commerce support.
Ytterligare sökkonfiguration
-
Som standard återskapas sökkonfigurationen för molnmiljöer varje gång du distribuerar. Du kan använda distributionsvariabeln
SEARCH_CONFIGURATION
om du vill behålla anpassade sökinställningar mellan distributioner. Se Distribuera variabler. -
När du har konfigurerat tjänsten Elasticsearch för ditt projekt kan du testa Elasticsearch-anslutningen och anpassa Elasticsearch-inställningarna för Adobe Commerce med hjälp av administratörsgränssnittet.
Lägg till plugin-program för Elasticsearch
Du kan också lägga till plugin-program för Elasticsearch genom att lägga till avsnittet configuration:plugins
i tjänsten Elasticsearch i filen .magento/services.yaml
. Följande kod aktiverar till exempel ICU-analys och plugin-program för fonetisk analys.
elasticsearch:
type: elasticsearch:<service-version>
disk: 1024
configuration:
plugins:
- analysis-icu
- analysis-phonetic
Om du använder ett plugin-program från en annan leverantör för Elastic Suite måste du uppdatera ece-tools
package till version 2002.0.19 eller senare.
När du konfigurerar Elastic Suite lägger du till konfigurationsinställningarna i variabeln ELASTICSUITE_CONFIGURATION
för distribution. Den här konfigurationen sparar inställningarna mellan distributioner.
Ta bort plugin-program för Elasticsearch
Om du tar bort plugin-posterna från elasticsearch:
i .magento/services.yaml
avinstalleras eller inaktiveras de inte på rätt sätt. Du måste indexera om dina Elasticsearch-data. Detta beteende är avsiktligt för att förhindra att data som är beroende av dessa plugin-program går förlorade eller skadas.
Så här tar du bort plugin-program för Elasticsearch:
-
Ta bort plugin-programposterna för Elasticsearch från din
.magento/services.yaml
-fil. -
Lägg till, implementera och push-överföra kodändringar.
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>
-
Genomför ändringarna av
.magento/services.yaml
i din molnrepo. -
Indexera om indexet för katalogsökning.
code language-bash bin/magento indexer:reindex catalogsearch_fulltext
-
Rensa cachen.
code language-bash bin/magento cache:clean
Felsökning
Se följande Adobe Commerce supportartiklar för hjälp med felsökning av Elasticsearch-problem: