Busca Meilisearch
Integra a busca do WordPress e WooCommerce com um servidor Meilisearch auto-hospedado.
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/4ntigona/wp-meilisearch-rivera/archive/refs/heads/main.zipBusca Meilisearch para WooCommerce (Plugin Customizado)
Este é um plugin customizado para WordPress que integra uma loja WooCommerce a uma instância auto-hospedada (self-hosted) do Meilisearch, um motor de busca open-source extremamente rápido e relevante.
O plugin substitui a busca padrão do WordPress/WooCommerce por uma experiência de busca instantânea e poderosa, indexando produtos e seus metadados para fornecer resultados em milissegundos.
Recursos Principais
- Conexão Segura: Conecta-se a uma instância Meilisearch usando credenciais seguras definidas no
wp-config.php. - Sincronização Automática: Mantém o índice do Meilisearch sincronizado em tempo real. Produtos são adicionados, atualizados ou removidos do índice automaticamente sempre que uma alteração ocorre no WordPress.
- Indexação Customizável: Oferece uma página de administração (
Ferramentas > Meilisearch) onde é possível selecionar quais atributos de produto (WooCommerce) e campos customizados (ACF) devem ser incluídos na busca. - Reindexação em Massa: Inclui uma ferramenta de reindexação via AJAX com barra de progresso, ideal para a configuração inicial ou para reconstruir o índice quando necessário.
- Arquitetura Robusta: Escrito com uma estrutura orientada a objetos, separando as responsabilidades de conexão, indexação e sincronização para facilitar a manutenção e extensão.
Requisitos
- WordPress 5.0 ou superior
- WooCommerce 3.0 ou superior
- PHP 7.4 ou superior
- Composer para gestão de dependências
- Acesso a uma instância do Meilisearch v1.x rodando em um servidor.
Instalação
-
Clone o Repositório: Clone este repositório para o seu diretório
wp-content/plugins/.git clone https://github.com/4ntigona/wp-meilisearch-rivera wp-content/plugins/wp-meilisearch-rivera -
Instale as Dependências: Acesse o diretório do plugin e execute o Composer para instalar a biblioteca PHP do Meilisearch.
cd wp-content/plugins/wp-meilisearch-rivera composer install -
Ative o Plugin: Acesse o painel de administração do WordPress, na seção "Plugins", e ative o plugin "Busca Meilisearch AVFARMA".
Configuração
Para que o plugin funcione, é necessário configurar as credenciais de acesso ao seu servidor Meilisearch.
-
Defina as Constantes: Abra o seu arquivo
wp-config.phpe adicione as seguintes constantes, substituindo os valores pelos da sua instância Meilisearch:/** * Configurações do Meilisearch */ define('MEILI_HOST', 'http://127.0.0.1:7700'); // A URL pública do seu servidor Meilisearch, padrão 127.0.0.1:7700 define('MEILI_MASTER_KEY', 'SUA_CHAVE_MESTRA_ULTRA_SECRETA_AQUI'); // A Master Key da sua instância define('MEILI_INDEX_NAME', 'produtos'); // O nome do índice que será criado/utilizado -
Configure os Campos Indexáveis:
- No painel do WordPress, vá para
Ferramentas > Meilisearch. - Se a conexão for bem-sucedida, você verá uma mensagem de sucesso.
- Na seção "Configurações do Índice", selecione todos os Atributos de Produto (WooCommerce) e Campos Customizados (ACF) que você deseja que sejam pesquisáveis.
- Clique em "Salvar Configurações do Índice". Esta ação também enviará as configurações de atributos pesquisáveis para a sua instância Meilisearch.
- No painel do WordPress, vá para
-
Execute a Primeira Indexação:
- Na mesma página, na seção "Sincronização em Massa", clique no botão "Re-indexar Todos os Produtos".
- Aguarde até que a barra de progresso chegue a 100%. Este processo irá enviar todos os seus produtos publicados para o Meilisearch.
Após estes passos, seu sistema estará configurado. A sincronização automática garantirá que quaisquer novos produtos ou alterações sejam refletidos no índice de busca.
Implementação no Frontend
Este plugin foca na lógica de backend (indexação e sincronização). A implementação da interface de busca no frontend deve ser feita no seu tema.
A abordagem recomendada é criar um endpoint na API REST do WordPress que atue como um proxy seguro para o Meilisearch, evitando a exposição de chaves de API no lado do cliente.
- Backend (Proxy): O arquivo
functions.phpdo tema cria um endpoint (/wp-json/meili/v1/search) que recebe a query de busca, a encaminha para o Meilisearch com a chave segura e devolve os resultados. - Frontend (JavaScript): O arquivo
js/meili-search.jscontém a lógica para capturar a digitação do usuário, enviar uma requisição AJAX para o endpoint do WordPress e renderizar os resultados recebidos de forma dinâmica.
Esta arquitetura desacoplada garante segurança e performance.