Para instalar y configurar Elasticsearch en Laravel, siga estos pasos:
Paso 1: Instalar Elasticsearch
En primer lugar, debe instalarlo Elasticsearch en su servidor o usar Elasticsearch un servicio en la nube como Elastic Cloud. Visite el Elasticsearch sitio web oficial para descargar la versión adecuada y siga las instrucciones de instalación.
Paso 2: Instalar Elasticsearch Package para Laravel
A continuación, instale el Elasticsearch paquete para Laravel. Hay varios paquetes compatibles Elasticsearch con Laravel, pero un paquete popular es " Laravel Scout ". Para instalar Laravel Scout, abra terminal y ejecute el siguiente comando:
composer require laravel/scout
Paso 3: Configurar Elasticsearch en Laravel
Después de instalarlo Laravel Scout, debe configurarlo para usarlo Elasticsearch como motor de búsqueda predeterminado. Abra el archivo .env de Laravel y agregue los siguientes parámetros de configuración:
SCOUT_DRIVER=elasticsearch
SCOUT_ELASTICSEARCH_HOSTS=http://localhost:9200
Where SCOUT_DRIVER
define el motor de búsqueda que Laravel Scout utiliza y SCOUT_ELASTICSEARCH_HOSTS
especifica la Elasticsearch URL a la que se conectará Scout.
Paso 4: Ejecutar Migration
A continuación, ejecute migration para crear la tabla "buscable" para los modelos en los que desea buscar Elasticsearch. Usa el siguiente comando:
php artisan migrate
Paso 5: Defina el modelo y asigne una descripción de búsqueda
Finalmente, en el modelo que desea buscar, agregue el Searchable
rasgo y defina la descripción de búsqueda para cada modelo. Por ejemplo:
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
];
}
}
Paso 6: sincronizar datos con Elasticsearch
Después de configurar y definir los modelos de búsqueda, ejecute el comando para sincronizar los datos de su base de datos con Elasticsearch:
php artisan scout:import "App\Models\Product"
Una vez completado, Elasticsearch se ha integrado en Laravel, y puede comenzar a usar su función de búsqueda en su aplicación.