Базовый поиск в Laravel с Elasticsearch

Базовый поиск в Laravel with Elasticsearch — фундаментальная функция при интеграции Elasticsearch в ваш Laravel проект. Чтобы выполнить базовый поиск, выполните следующие действия:

Шаг 1: Создайте Model и определите доступное для поиска описание

Сначала создайте model вход Laravel и определите доступное для поиска описание для этого файла model. Описание с возможностью поиска представляет собой массив, содержащий поля, в которых вы хотите выполнить поиск Elasticsearch.

Например, в Product  модели вы хотите выполнить поиск по полям name и description  .

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

Шаг 2: Поиск данных

После определения доступного для поиска описания в model, вы можете использовать этот search() метод для выполнения поиска данных в Elasticsearch.

$keyword = "Laravel";  
  
$results = Product::search($keyword)->get();  

Метод search($keyword) будет искать записи, содержащие ключевое слово " Laravel " в полях name и description файлах Product model.

Шаг 3: Отображение результатов

После выполнения поиска вы можете использовать результаты для отображения информации пользователю.

foreach($results as $result) {  
    echo $result->name. ": ". $result->description;  
    // Display product information or other search data  
}  

Это позволяет вам представить основные результаты поиска Elasticsearch в вашем Laravel приложении.