lancodev/filament-meilisearch
Composer 安装命令:
composer require lancodev/filament-meilisearch
包简介
A Filament plugin for managing Meilisearch instances directly from your Filament admin panel.
README 文档
README
Filament Meilisearch Plugin
A comprehensive Filament plugin for managing Meilisearch instances directly from your Filament admin panel. Inspired by meiliweb.
Features
- Dashboard - Overview of your Meilisearch instance health, version, and statistics
- Indexes Management - Create, view, and delete indexes
- Documents Management - Add, search, view, and delete documents
- API Keys Management - Create and manage Meilisearch API keys with granular permissions
- Tasks Monitoring - View and manage background tasks
- Dumps - Create database dumps for backup
- Snapshots - Create point-in-time snapshots
- Index Settings - View and manage index configuration
Requirements
- PHP 8.1+
- Laravel 9.0+ | 10.0+ | 11.0+
- Filament v4.0+|v5.0+
- Meilisearch PHP SDK ^1.6
Installation
composer require lancodev/filament-meilisearch
Publish the configuration file:
php artisan vendor:publish --tag="filament-meilisearch-config"
Configuration
Add your Meilisearch connection details to your .env file:
MEILISEARCH_HOST=http://localhost:7700 MEILISEARCH_KEY=your-master-key
Or publish and edit the config file at config/filament-meilisearch.php:
return [ 'host' => env('MEILISEARCH_HOST', 'http://localhost:7700'), 'key' => env('MEILISEARCH_KEY', null), 'navigation' => [ 'group' => 'Meilisearch', 'icon' => 'heroicon-o-magnifying-glass', 'sort' => 0, ], 'features' => [ 'indexes' => true, 'documents' => true, 'keys' => true, 'tasks' => true, 'dumps' => true, 'snapshots' => true, 'settings' => true, ], ];
Usage
Register the Plugin
In your Filament panel provider (typically app/Providers/Filament/AdminPanelProvider.php):
use Lancodev\FilamentMeilisearch\MeilisearchPlugin; public function panel(Panel $panel): Panel { return $panel // ... ->plugins([ MeilisearchPlugin::make() ->navigationGroup('Search') ->navigationIcon('heroicon-o-magnifying-glass') ->navigationSort(10) ->features([ 'indexes' => true, 'documents' => true, 'keys' => true, 'tasks' => true, 'dumps' => true, 'snapshots' => true, 'settings' => true, ]), ]); }
Customizing Features
You can enable or disable specific features:
MeilisearchPlugin::make() ->features([ 'indexes' => true, 'documents' => true, 'keys' => false, // Disable API keys management 'tasks' => true, 'dumps' => false, // Disable dumps 'snapshots' => false, // Disable snapshots 'settings' => true, ])
Limiting Visible Indexes
By default, all indexes in your Meilisearch instance are shown. You can restrict which indexes are visible in the admin panel:
Via the plugin registration:
MeilisearchPlugin::make() ->allowedIndexes(['products', 'users', 'orders']);
Via the config file:
// config/filament-meilisearch.php 'allowed_indexes' => ['products', 'users', 'orders'],
Via the .env file:
FILAMENT_MEILISEARCH_ALLOWED_INDEXES=products,users,orders
When set, only the listed indexes will appear in the Dashboard, Indexes, and API Keys pages. Set to null (or omit) to show all indexes.
Security
Important: Ensure your Meilisearch instance is properly secured. This plugin requires a Meilisearch API key with appropriate permissions. We recommend:
- Using environment variables for sensitive configuration
- Restricting access to the Meilisearch admin panel to authorized users only
- Using Meilisearch's built-in API key management for granular permissions
- Never committing API keys to version control
License
MIT License. See LICENSE for details.
Credits
Inspired by meiliweb by Benoît Polaszek.
统计信息
- 总下载量: 338
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-03
