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.
-
Staging
- och Production
-miljöer..magento.app.yaml
- och services.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.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: