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.