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.
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
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.
om Elasticsearch toe te laten:
-
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.
-
Stel de eigenschap
relationships
in het.magento.app.yaml
-bestand in.code language-yaml relationships: elasticsearch: "elasticsearch:elasticsearch"
-
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.
-
Nadat het plaatsingsproces voltooit, gebruik SSH aan login aan het verre milieu.
code language-bash magento-cloud ssh
-
Indexeer de zoekindex van de catalogus opnieuw.
code language-bash bin/magento indexer:reindex catalogsearch_fulltext
-
Maak de cache leeg.
code language-bash bin/magento cache:clean
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:
-
Wijzig op uw lokale werkstation de projectmap.
-
De details van de Elasticsearch weergeven voor de actieve omgeving.
code language-bash magento-cloud relationships --property=elasticsearch
-
U kunt SSH ook gebruiken om u aan te melden bij de externe omgeving.
code language-bash magento-cloud ssh
-
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. -
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 | +------------------------------------------+----------------------------------------------------------------------+
-
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" }
-
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.
-
Staging
en Production
slechts milieu's te installeren of bij te werken..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.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:
-
Verwijder de insteekmodules van de Elasticsearch uit het
.magento/services.yaml
-bestand. -
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>
-
Leg de
.magento/services.yaml
-wijzigingen vast in uw Cloud-repo. -
Indexeer de zoekindex van de catalogus opnieuw.
code language-bash bin/magento indexer:reindex catalogsearch_fulltext
-
Maak de cache leeg.
code language-bash bin/magento cache:clean
Problemen oplossen
Raadpleeg de volgende Adobe Commerce Support-artikelen voor hulp bij het oplossen van problemen met de Elasticsearch:
- Elasticsearch 5 wordt gevormd, maar de onderzoekspagina laadt niet met "de gegevens van het Gebied is gehandicapt…"fout
- de paginering van de Catalogus werkt niet wanneer Elasticsearch 6.x wordt gebruikt
- Elasticsearch in de probleemoplosser van Adobe Commerce
- de Status van de Index van de Elasticsearch is
yellow
ofred