Установить и настроить Elasticsearch в Laravel

Чтобы установить и настроить Elasticsearch в Laravel, выполните следующие действия:

Шаг 1: Установите Elasticsearch

Во-первых, вам нужно установить Elasticsearch на свой сервер или использовать Elasticsearch облачный сервис, такой как Elastic Cloud. Посетите Elasticsearch официальный сайт, чтобы загрузить соответствующую версию и следуйте инструкциям по установке.

Шаг 2: Установите Elasticsearch Package для Laravel

Затем установите Elasticsearch пакет для Laravel. Существуют различные пакеты, которые поддерживают Elasticsearch файлы. Для установки откройте и выполните следующую команду: Laravel Laravel Scout Laravel Scout terminal

composer require laravel/scout

Шаг 3: Настройте Elasticsearch в Laravel

После установки Laravel Scout вам необходимо настроить его для использования Elasticsearch в качестве поисковой системы по умолчанию. Откройте файл .env Laravel и добавьте следующие параметры конфигурации:

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

Где SCOUT_DRIVER определяет поисковую систему, которая Laravel Scout использует, и SCOUT_ELASTICSEARCH_HOSTS указывает Elasticsearch URL-адрес, к которому будет подключаться Scout.

Шаг 4: Запустите Migration

Затем запустите, migration чтобы создать таблицу с возможностью поиска для моделей, которые вы хотите найти в файлах Elasticsearch. Используйте следующую команду:

php artisan migrate

Шаг 5: Определите модель и назначьте доступное для поиска описание

Наконец, в модели, которую вы хотите найти, добавьте характеристику Searchable и определите доступное для поиска описание для каждой модели. Например:

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  
        ];  
    }  
}  

Шаг 6. Синхронизируйте данные с Elasticsearch

После настройки и определения доступных для поиска моделей запустите команду для синхронизации данных из вашей базы данных с Elasticsearch:

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

После завершения Elasticsearch он был интегрирован в Laravel, и вы можете начать использовать его функцию поиска в своем приложении.