0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: php, поиск, meilisearch, laravel scout</p>
1
<p>Теги: php, поиск, meilisearch, laravel scout</p>
2
<p><strong>MeiliSearch</strong>представляет собой простое и удобное решение для полнотекстового поиска. Его очень легко интегрировать в Laravel-приложение, используя драйвер для Laravel Scout.</p>
2
<p><strong>MeiliSearch</strong>представляет собой простое и удобное решение для полнотекстового поиска. Его очень легко интегрировать в Laravel-приложение, используя драйвер для Laravel Scout.</p>
3
<p>Начнем с того, что<strong>Laravel Scout</strong>существует давно. Это прекрасный инструмент, который без особых проблем позволяет реализовывать полнотекстовый поиск для Eloquent-моделей. Как говорится, проверен временем. Во время запуска Scout может использовать драйвера сервиса Algolia (этот сервис обеспечивает полнотекстовый поиск посредством собственных серверов). Также существует возможность создавать свои драйвера. Вообще, как и множество других SaaS-предложений,<strong>Algolia</strong>дает возможность избавиться от лишней работы по разработке, позволяя быстро развернуть приложение.</p>
3
<p>Начнем с того, что<strong>Laravel Scout</strong>существует давно. Это прекрасный инструмент, который без особых проблем позволяет реализовывать полнотекстовый поиск для Eloquent-моделей. Как говорится, проверен временем. Во время запуска Scout может использовать драйвера сервиса Algolia (этот сервис обеспечивает полнотекстовый поиск посредством собственных серверов). Также существует возможность создавать свои драйвера. Вообще, как и множество других SaaS-предложений,<strong>Algolia</strong>дает возможность избавиться от лишней работы по разработке, позволяя быстро развернуть приложение.</p>
4
<p>Но бывают ситуации, когда просто нужен полнотекстовый поиск, причем простой как Algolia, но который можно было бы хостить у себя. Ну и чтобы не было таких сложностей как у того же<strong>Elasticsearch</strong>. Одно их решений -<strong>MeiliSearch</strong>.</p>
4
<p>Но бывают ситуации, когда просто нужен полнотекстовый поиск, причем простой как Algolia, но который можно было бы хостить у себя. Ну и чтобы не было таких сложностей как у того же<strong>Elasticsearch</strong>. Одно их решений -<strong>MeiliSearch</strong>.</p>
5
<p>Сейчас вы увидите, как легко настраивается локальный сервер поиска и подключается к Laravel. Для примера воспользуемся Laravel 8, а для поиска через MeiliSearch/Scout настроим модель App\Models\User.</p>
5
<p>Сейчас вы увидите, как легко настраивается локальный сервер поиска и подключается к Laravel. Для примера воспользуемся Laravel 8, а для поиска через MeiliSearch/Scout настроим модель App\Models\User.</p>
6
<h3>Инсталляция</h3>
6
<h3>Инсталляция</h3>
7
composer require laravel/scout<h3>Публикация конфигурации Scout</h3>
7
composer require laravel/scout<h3>Публикация конфигурации Scout</h3>
8
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"<h3>Добавляем трейт Laravel\Scout\Searchable в модель</h3>
8
php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"<h3>Добавляем трейт Laravel\Scout\Searchable в модель</h3>
9
<h3>Инсталлируем драйвер MeiliSearch Laravel Scout</h3>
9
<h3>Инсталлируем драйвер MeiliSearch Laravel Scout</h3>
10
composer require meilisearch/meilisearch-laravel-scout<h3>Публикуем конфигурацию MeiliSearch</h3>
10
composer require meilisearch/meilisearch-laravel-scout<h3>Публикуем конфигурацию MeiliSearch</h3>
11
php artisan vendor:publish --provider="Meilisearch\Scout\MeilisearchServiceProvider" --tag="config"<h3>Обновляем .env</h3>
11
php artisan vendor:publish --provider="Meilisearch\Scout\MeilisearchServiceProvider" --tag="config"<h3>Обновляем .env</h3>
12
<p>Если ключа нет, оставьте<em>MEILISEARCH_KEY</em>пустым.</p>
12
<p>Если ключа нет, оставьте<em>MEILISEARCH_KEY</em>пустым.</p>
13
<h3>Запускаем MeiliSearch</h3>
13
<h3>Запускаем MeiliSearch</h3>
14
<p>Тут надо следовать инструкциям из<a>документации</a>MeiliSearch.</p>
14
<p>Тут надо следовать инструкциям из<a>документации</a>MeiliSearch.</p>
15
<h3>Создаем поисковый индекс</h3>
15
<h3>Создаем поисковый индекс</h3>
16
<h3>Импортируем документы для заполнения индекса:</h3>
16
<h3>Импортируем документы для заполнения индекса:</h3>
17
<h3>Выполняем поиск по модели</h3>
17
<h3>Выполняем поиск по модели</h3>
18
<h2>Послесловие</h2>
18
<h2>Послесловие</h2>
19
<p>Документация MeiliSearch охватывает намного больше вариаций применения, чем мы описали. Если вы желаете использовать инструмент на полную катушку, рекомендуется с этой<a>документацией ознакомиться</a>.</p>
19
<p>Документация MeiliSearch охватывает намного больше вариаций применения, чем мы описали. Если вы желаете использовать инструмент на полную катушку, рекомендуется с этой<a>документацией ознакомиться</a>.</p>
20
<p><em>По материалам https://tighten.co/blog/full-text-search-with-meilisearch-and-scout/.</em></p>
20
<p><em>По материалам https://tighten.co/blog/full-text-search-with-meilisearch-and-scout/.</em></p>
21
21