lee-to / moonshine-algolia-search
MoonShine 的 Algolia 全局搜索
1.0.0
2023-05-02 15:37 UTC
Requires
- php: ^8.0|^8.1|^8.2
- ext-curl: *
- ext-json: *
- algolia/algoliasearch-client-php: ^3.3
Requires (Dev)
- brianium/paratest: ^6.8
- mockery/mockery: ^1.4.4
- orchestra/testbench: ^4.0|^5.0|^6.0|^7.0|^8.0
- phpstan/phpstan: ^1.4.7
- phpunit/phpunit: ^9.5.8
Conflicts
- moonshine/moonshine: <1.55
This package is auto-updated.
Last update: 2024-08-31 00:41:35 UTC
README
Algolia 为 MoonShine 的搜索
因此,所有菜单项都将被索引,包括组、资源、资源条目和自定义页面
安装
composer require lee-to/moonshine-algolia-search
发布配置
php artisan vendor:publish --provider="Leeto\MoonShineAlgoliaSearch\Providers\MoonShineAlgoliaSearchServiceProvider"
在 https://www.algolia.com 注册,获取密钥并在配置 config/algolia.php
中设置
return [ 'app_id' => env('ALGOLIA_APP_ID'), 'admin_key' => env('ALGOLIA_ADMIN_KEY'), 'frontend_key' => env('ALGOLIA_FRONTEND_KEY'), ];
MoonShine 配置 (app/moonshine.php)
// ... 'header' => 'algolia-search::global-search' // ...
创建索引
php artisan algolia-search:indexes
如果您想为模型自定义字段,实现 HasGlobalAlgoliaSearch 接口
use Illuminate\Database\Eloquent\Model; use Leeto\MoonShineAlgoliaSearch\Contracts\HasGlobalAlgoliaSearch; class Post extends Model implements HasGlobalAlgoliaSearch { public function globalSearch(): array { return [ 'description' => $this->text, 'image' => $this->thumbnail ]; } }