I've a fresh install of Magento 2.4.0 on ubuntu 20.04 installed from CLI, downloaded with Composer.

I get this error while trying to reindex the catalog_search index :

Catalog Search index process unknown error: Missing required argument $engines of Magento\Search\Model\EngineResolver.

Also, my catalog/catalog tab in admin panel is empty for the scope default config so I can't set the elasticsearch engine from the UI. In the core_config_data, there was no catalog/search/engine, so I tried to set a new one with elasticsearch7 or mysql but neither worked.

I precise that I've a working elasticsearch 7.x on this new server, with no credentials.

It seems that the elasticsearch related config are not set properly, and I can't figure out why no option are visible in the default scope admin panel for the catalog/catalog tab...

An idea ?

  • I am also facing the same issue Sep 13, 2020 at 19:23
  • See my own answer below. It seems that you've not installed Elasticsearch BEFORE installing magento 2.4.0, try to disable/enable elasticsearch module after eslasticsearch installation, it may solve your problem. Otherwise, remove all and try to install magento again. Sep 14, 2020 at 11:55

3 Answers 3


If you're not interested to use elastic search in magneto 2.4.0 or above version then you can use below mentioned module ("The Default MySQL search engine has been removed from Magento 2.4.0")


For maintainers

cd <magento_root>
composer config repositories.swissup composer https://docs.swissuplabs.com/packages/
composer require swissup/module-search-mysql-legacy --prefer-source --ignore-platform-reqs
bin/magento module:enable Swissup_SearchMysqlLegacy Swissup_Core
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento indexer:reindex catalogsearch_fulltext

You need to re-activate the ElasticSearch modules if you have de-activated them. ElasticSearch is required to run Magento 2.4.


From Magento website: "As of Magento 2.4.0, Elasticsearch 7.6.x is required for all installations."

If you don't want to use Elasticsearch, you need to implement another catalog search solution as MySQL search has been removed, from the 2.4. changelog:

"The MySQL search engine has been removed from Magento 2.4.0 and replaced as the default search engine with Elasticsearch. Elasticsearch provides superior search capabilities as well as catalog performance optimizations. All merchants must have Elasticsearch to install and deploy Magento 2.4.0."

  • 2
    If I enable it I get Could not validate a connection to Elasticsearch. No alive nodes found in your cluster
    – Black
    Jan 26, 2021 at 10:35

So, If anyone can test Aphroz's answer, Do it. It sounds to be a good solution.

Personaly, I solved this problem by removing all files in my magento directory, cleaning the database and resintalling the whole thing to get a new fresh install.

The problem was that I installed elasticsearch 7 AFTER installing Magento 2.4.0, as I used to do with previous version of Magento.

If you get the same error message as I get, please, considere installing eslasticsearch then disabling and enabling eslasticSearch magento module, it may restore all related config. Otherwise... do a fresh installation again like I did.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.