HTML Diff
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