Поиск
Вы просматриваете документацию старой версии MoonShine. Рассмотрите возможность обновления вашего проекта до MoonShine 2.x.
-
Разделы
# Основы
Здесь все просто! Для полнотекстового поиска необходимо указать, какие поля будут участвовать в поиске.
Для этого необходимо их перечислить в возвращаемом массиве в методе search()
Если метод отсутствует либо возвращает пустой массив, то поисковая строка не будет отображаться
namespace MoonShine\Resources; use MoonShine\Models\MoonshineUser; class PostResource extends Resource{ //... public function search(): array { return ['id', 'title']; } //...}
Если требуется fulltext поиск, то необходимо воспользоваться аттрибутом MoonShine\Attributes\SearchUsingFullText
namespace MoonShine\Resources; use MoonShine\Attributes\SearchUsingFullText; class PostResource extends Resource { //... #[SearchUsingFullText(['title', 'text'])] public function search(): array { return ['id']; } //... }
Не забудьте добавить fulltext индекс
# Глобальный поиск
Для организации глобального поиска можно воспользоваться пакетом Algolias search for MoonShine
Данный пакет использует поисковый движок Algolia
, который учитывает контекст и тип запроса,
возможные опечатки, синонимы и словоформы, ввод запроса на разных языках и многое другое.