Magento 2

Could not ping search engine no Magento 2: OpenSearch fora do ar

Categoria abrindo vazia, busca sem resultado nenhum e o painel do Magento 2.4.8 avisando Could not ping search engine. Please check the connection and try again. Antes de sair mexendo em configuração, pergunte direto ao motor de busca se ele está vivo:

curl -s http://localhost:9200
curl -s "http://localhost:9200/_cluster/health?pretty"
sudo systemctl status opensearch --no-pager

Se não voltar nada, o serviço caiu ou está escutando em outra interface, e o resto do post não importa: suba o OpenSearch primeiro. Com o plugin de segurança ligado o teste é curl -k -u usuario:senha https://localhost:9200, senão você lê recusa de conexão e culpa o serviço errado. Voltando o JSON com nome do cluster e versão, o motor está de pé e o problema é o que o Magento tem gravado pra falar com ele.

O bloco fica no app/etc/env.php

Procure o caminho system, default, catalog, search. O prefixo das chaves acompanha o motor escolhido:

'catalog' => [
    'search' => [
        'engine' => 'opensearch',
        'opensearch_server_hostname' => 'localhost',
        'opensearch_server_port' => '9200',
        'opensearch_index_prefix' => 'magento2',
        'opensearch_server_timeout' => '15',
    ],
],

Quem migrou de Elasticsearch 7 pra OpenSearch quase sempre esquece o campo engine. Com elasticsearch7 gravado ali, o Magento lê só as chaves de prefixo elasticsearch7 e ignora tudo que você escreveu com prefixo opensearch, apontando pra um servidor que já não existe. No 2.4.8 isso estoura sozinho depois do upgrade, porque o Elasticsearch 7 saiu da lista de motores suportados. E com o valor travado em arquivo, mexer no painel não muda nada.

Acertou o host, agora reindexe

bin/magento config:show catalog/search
bin/magento cache:clean config
bin/magento indexer:reset catalogsearch_fulltext
bin/magento indexer:reindex catalogsearch_fulltext

Enquanto o índice não termina, a vitrine segue vazia mesmo com o ping respondendo, então espere o comando voltar antes de comemorar.

Se travou nisso e precisa de ajuda, me chama aqui.

Post Recentes

Bookmarks da grid do Magento 2: colunas somem e o filtro fica preso

Editou o listing.xml e o admin continua com as colunas antigas ou um filtro travado? O estado da grid está…

2 dias atrás

array_chunk no PHP: processar 50 mil registros em lotes sem estourar memória

Importação morrendo com Allowed memory size exhausted? Fatie o processamento com array_chunk e, quando nem o array couber, leia o…

2 dias atrás

Unknown module in the enabled modules list: erro no Magento 2

Apagou a pasta do módulo e agora todo bin/magento morre reclamando de módulo desconhecido? A lista continua no app/etc/config.php, e…

3 dias atrás

Ordenar posts por meta_value_num: o preço em ordem certa no WP_Query

Preço gravado em post meta sai fora de ordem porque o MySQL compara texto. Use orderby meta_value_num e inclua quem…

4 dias atrás

Action Scheduler travado no WooCommerce: milhares de ações pendentes

Fila do Action Scheduler com dezenas de milhares de ações pendentes na loja? Rode a fila pelo WP-CLI, limpe o…

4 dias atrás

Query Builder do CodeIgniter 4: ver o SQL que ele realmente gerou

A consulta volta vazia e você não sabe qual WHERE foi montado. Veja o SQL antes de rodar com getCompiledSelect(false)…

5 dias atrás