Instalar e configurar Elasticsearch em Laravel

Para instalar e configurar Elasticsearch no Laravel, siga estas etapas:

Passo 1: Instalar Elasticsearch

Em primeiro lugar, você precisa instalar Elasticsearch em seu servidor ou usar Elasticsearch um serviço de nuvem como o Elastic Cloud. Visite o Elasticsearch site oficial para baixar a versão apropriada e siga as instruções de instalação.

Passo 2: Instale Elasticsearch Package para Laravel

Em seguida, instale o Elasticsearch pacote para Laravel. Existem vários pacotes que suportam Elasticsearch o Laravel, mas um pacote popular é o " Laravel Scout ". Para instalar Laravel Scout, abra o terminal e execute o seguinte comando:

composer require laravel/scout

Etapa 3: configurar Elasticsearch em Laravel

Depois de instalar Laravel Scout, você precisa configurá-lo para usar Elasticsearch como mecanismo de pesquisa padrão. Abra o arquivo .env de Laravel e adicione os seguintes parâmetros de configuração:

SCOUT_DRIVER=elasticsearch  
SCOUT_ELASTICSEARCH_HOSTS=http://localhost:9200  

Onde SCOUT_DRIVER define o mecanismo de pesquisa que Laravel Scout usa e SCOUT_ELASTICSEARCH_HOSTS especifica a Elasticsearch URL à qual o Scout se conectará.

Etapa 4: Executar Migration

Em seguida, execute o migration para criar a tabela "pesquisável" para os modelos que deseja pesquisar Elasticsearch. Use o seguinte comando:

php artisan migrate

Etapa 5: definir o modelo e atribuir uma descrição pesquisável

Finalmente, no modelo que deseja pesquisar, adicione a Searchable característica e defina a descrição pesquisável para cada modelo. Por exemplo:

use Laravel\Scout\Searchable;  
  
class Product extends Model  
{  
    use Searchable;  
  
    public function toSearchableArray()  
    {  
        return [  
            'id' => $this->id,  
            'name' => $this->name,  
            'description' => $this->description,  
            // Add other searchable fields if needed  
        ];  
    }  
}  

Etapa 6: sincronizar dados com Elasticsearch

Após configurar e definir os modelos pesquisáveis, execute o comando para sincronizar os dados do seu banco de dados para Elasticsearch:

php artisan scout:import "App\Models\Product"

Depois de concluído, Elasticsearch foi integrado ao Laravel, e você pode começar a usar seu recurso de pesquisa em seu aplicativo.