Как известно, из Magento исключили устаревший поисковый движок на MySQL. Теперь для установки (и для работы) требуется настроенный сервер Elasticsearch
Если нет возможности установить Elasticsearch или вы просто не хотите ставить сервер у себя, то есть несколько вариантов.
- Во-первых, можно вообще отказаться от установки Elasticsearch
$ bin/magento setup:install \
--disable-modules=Magento_InventoryElasticsearch,Magento_Elasticsearch7,Magento_Elasticsearch6,Magento_Elasticsearch
- Во-вторых, можно воспользоваться каким-либо бесплатным сервисом (например bonsai или searchly.com)
Например, после регистрации в bonsai у вас будет ссылка вида https://[username]:[password]@[application-code].bonsaisearch.net. Эти данные и нужно указать в момент установки Magento:
$ bin/magento setup:install \
--search-engine=elasticsearch7 \
--elasticsearch-host=https://[your-url].bonsaisearch.net \
--elasticsearch-port=443 \
--elasticsearch-enable-auth=1 \
--elasticsearch-username=your-name \
--elasticsearch-password=your-pass
- Третий вариант - это воспользоваться модулем Legacy MySql. Естественно, это можно сделать и после установки (с отключенным поиском, либо с тем же сервисом от bonsai.io)
$ composer require swissup/module-marketplace
$ bin/magento setup:upgrade
$ bin/magento marketplace:channel:enable swissuplabs
$ bin/magento marketplace:package:require swissup/module-search-mysql-legacy
После установки модуля нужно указать его в качестве поискового движка:
$ php bin/magento config:set catalog/search/engine 'lmysql'
(либо в админке по пути Configration -> Catalog -> Catalog Search -> Search Engine