Websites und Anwendungen
Magento 2.4 ohne Elasticsearch oder OpenSearch installieren und aktualisieren
Seit Version 2.4 hat Magento die MySQL-Suche der früheren Versionen entfernt und verlangt eine externe Suchmaschine: Elasticsearch oder OpenSearch, je nach Version (die neuesten verwenden OpenSearch). Welche Ihre Version verlangt, sehen Sie in der Anforderungstabelle von Adobe Commerce.
Diese Suchmaschinen sind Dienste, die dauerhaft im Hintergrund laufen und mehrere GB Arbeitsspeicher brauchen, daher lassen sie sich auf einem Shared Hosting wie unserem nicht installieren. Es gibt zwei Wege:
- Einen verwalteten OpenSearch- oder Elasticsearch-Dienst buchen, etwa Elastic Cloud oder Bonsai, und seine Verbindungsdaten in Magento eintragen. Das empfiehlt Adobe, es verursacht aber monatliche Kosten, die sich für kleine oder mittlere Shops möglicherweise nicht lohnen.
- Die Elasticsearch/OpenSearch-Module deaktivieren und MySQL als Suchmaschine verwenden, mit einem kostenlosen Modul. Das erklärt diese Anleitung.
Sehen, welche Suchmodule Ihre Version hat
Die Namen der Module ändern sich je nach Magento-Version. In 2.4.0–2.4.5 gibt es zum Beispiel Magento_Elasticsearch6 und Magento_Elasticsearch7, in den neueren Versionen Magento_Elasticsearch8 und Magento_OpenSearch. Um die Ihrer Installation zu sehen, melden Sie sich per SSH im Magento-Ordner an und führen Sie aus:
php bin/magento module:status | grep -E 'Elasticsearch|OpenSearch'
Verwenden Sie diese Namen in den folgenden Befehlen.
Magento 2.4 ohne Elasticsearch installieren
Wenn Sie Magento von Hand installieren, geben Sie bei setup:install mit --disable-modules an, dass die Module der Suchmaschine nicht aktiviert werden sollen. In einer neueren Version:
php bin/magento setup:install \
--disable-modules=Magento_InventoryElasticsearch,Magento_Elasticsearch8,Magento_OpenSearch,Magento_Elasticsearch \
...resto de parámetros de instalación...
In Magento 2.4.0–2.4.5 lautet die Liste Magento_InventoryElasticsearch,Magento_Elasticsearch7,Magento_Elasticsearch6,Magento_Elasticsearch.
Auf Magento 2.4 ohne Elasticsearch aktualisieren
Wenn Sie einen Shop ohne konfigurierte Suchmaschine aktualisieren, bricht setup:upgrade mit einem Verbindungsfehler zu Elasticsearch oder OpenSearch ab. Deaktivieren Sie vorher die Module, die module:status angezeigt hat:
php bin/magento module:disable Magento_Elasticsearch \ Magento_Elasticsearch8 \ Magento_OpenSearch \ Magento_InventoryElasticsearch
Bei Adobe Commerce (der kostenpflichtigen Version) fügen Sie außerdem Magento_ElasticsearchCatalogPermissions hinzu. Fahren Sie danach normal mit dem Update fort.
MySQL als Suchmaschine verwenden: Legacy MySQL Search
Nach dem Deaktivieren der Module funktioniert der Shop, hat aber keine Suche. Um sie zurückzubekommen, verwenden wir Legacy MySQL Search von Swissup: ein kostenloses Modul, das die MySQL-Suche von 2.3 in Magento 2.4 zurückbringt und weiterhin gepflegt wird (Version 1.1.14).
Im Magento-Ordner:
composer config repositories.swissup composer https://docs.swissuplabs.com/packages/ composer require swissup/module-search-mysql-legacy --prefer-source --ignore-platform-reqs php bin/magento module:enable Swissup_SearchMysqlLegacy Swissup_Core php bin/magento setup:upgrade --safe-mode=1 php bin/magento setup:di:compile php bin/magento config:set catalog/search/engine 'lmysql' php bin/magento indexer:reindex catalogsearch_fulltext
Diese Befehle installieren das Modul, aktivieren es, wählen MySQL als Suchmaschine und indexieren den Katalog neu. Wenn der Shop im Produktionsmodus läuft, führen Sie danach php bin/magento setup:static-content:deploy es_ES und php bin/magento cache:flush aus.
Sie können die Suchmaschine auch im Administrationsbereich unter Stores > Configuration > Catalog > Catalog > Catalog Search > Search Engine wählen: Deaktivieren Sie Use system value und wählen Sie Legacy MySQL (Deprecated).

So prüfen Sie die aktive Suchmaschine:
php bin/magento config:show catalog/search/engine
Die Antwort muss lmysql lauten. Führen Sie eine Suche im Shop durch, um zu bestätigen, dass sie Produkte liefert.
Standardmäßig liefert eine Suche mit mehreren Wörtern („bolso rojo“) die Produkte, die eines davon enthalten. Damit nur die erscheinen, die alle enthalten, wie bei Elasticsearch, stellen Sie im selben Abschnitt Catalog Search Multi-word Search Logic (MySQL Legacy) auf AND und führen Sie php bin/magento cache:clean config aus.
Eine weitere Alternative: Algolia
Algolia ist eine externe Suchmaschine als Dienst, mit einem kostenlosen Tarif für kleine Kataloge und Suchvolumen. Es gibt eine offizielle Erweiterung für Magento 2; auch dafür müssen Sie die Elasticsearch/OpenSearch-Module wie oben beschrieben deaktivieren, wenn Sie keine konfiguriert haben.
Häufige Fehler
- Speichermangel beim Ausführen von Composer oder
bin/magento(„Allowed memory size exhausted“): Führen Sie den Befehl mitphp -d memory_limit=-1aus, zum Beispielphp -d memory_limit=-1 bin/magento setup:di:compile, oder erhöhen Sie memory_limit in cPanel. setup:upgradeschlägt mit „Current version of RDBMS is not supported“ fehl: Das hat nichts mit der Suche zu tun. Magento prüft die Version der Datenbank und akzeptiert nur bestimmte; Magento 2.4.8 unterstützt zum Beispiel MySQL 8.0 und 8.4 sowie MariaDB bis 10.6 und 11.4. Schreiben Sie uns, und wir sagen Ihnen, welche Version Ihr Server hat.
Das könnte Ihnen auch helfen
- Bild und Preis in der Sofortsuche von PrestaShop 1.6, 1.7, 8 und 9 anzeigen Code, damit die Sofortsuche (AJAX) von PrestaShop Bild und Preis jedes Produkts anzeigt: in 1.7, 8 u...
- Den Status einer Bestellung je nach Zahlungsart in PrestaShop ändern Ändern Sie den Status, den PrestaShop einer Bestellung bei der Bestätigung per Nachnahme, Überweisun...
- Die Sprache des Shops und des Administrationsbereichs von PrestaShop auf Spanisch umstellen Stellen Sie PrestaShop auf Spanisch um: Importieren Sie das Lokalisierungspaket für Spanien, wählen...
- PrestaShop für den E-Mail-Versand über SMTP einrichten Sorgen Sie dafür, dass die E-Mails von PrestaShop (Bestellungen, Registrierung, Passwörter) über aut...
Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.