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.
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
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
elasticsearchtoe aan het.magento/services.yaml-bestand met de Elasticsearch-versie en toegewezen schijfruimte in MB.code language-yaml elasticsearch: type: elasticsearch:<version> disk: 1024Voor Pro-projecten moet u een Adobe Commerce Support-ticket indienen om de Elasticsearch-versie te wijzigen in de omgeving voor Staging en Productie.
-
Stel de eigenschap
relationshipsin 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 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.yamldossier 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:
-
Wijzig op uw lokale werkstation de projectmap.
-
Geef de Elasticsearch-gegevens voor de actieve omgeving weer.
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/elasticsearchControleer 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/elasticsearchU kunt ook de Elasticsearch PHP client version vinden in het
composer.lockbestand in de root directory van de omgeving. -
Haal de gegevens van de Elasticsearch-serviceverbinding op de opdrachtregel op.
code language-bash vendor/bin/ece-tools env:config:show servicesIn 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 | +------------------------------------------+----------------------------------------------------------------------+ -
Haal de geïnstalleerde Elasticsearch-service
version:numberop 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" } -
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.
-
-
Voor Pro projecten, moet u een kaartje van de Steun van Adobe Commerce voorleggen om diensten in
StagingenProductionslechts milieu's te installeren of bij te werken. -
Geef aan welke servicewijzigingen nodig zijn, neem de bijgewerkte
.magento.app.yaml- enservices.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_CONFIGURATIONkunt 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:
-
Verwijder de Elasticsearch-insteekmodules uit uw
.magento/services.yaml-bestand. -
U kunt wijzigingen in de code toevoegen, doorvoeren en doorvoeren.
code language-bash git add .magento/services.yamlcode 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