lee-to/moonshine-algolia-search

MoonShine 的 Algolia 全局搜索

1.0.0 2023-05-02 15:37 UTC

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
        ];
    }
}