ubeeqo / laravel-scout-settings
将 Algolia 设置导入/导出到您的 Laravel Scout 项目
Requires
- algolia/algoliasearch-client-php: ^1.25
- laravel/scout: ^3.0 || ^4.0
Requires (Dev)
- mikey179/vfsstream: ^1.6
- orchestra/testbench: ^3.4
- phpunit/phpunit: ^6.5
README
将 Algolia 设置、同义词和查询规则导入/导出到您的 Laravel Scout 项目。
管理设置的最简单方式通常是访问您的 Algolia 控制台,因为它有一个不错的用户界面,并且您可以直接在那里测试相关性。
一旦您调整了配置,您可能想将其添加到项目中。
此包为您的项目添加了两个 Laravel 命令
- 一个用于将设置、同义词和查询规则保存到 JSON 文件中
- 一个用于将所有内容推送到 Algolia
这具有三大优点
- 您可以使用 VCS 对配置进行版本控制
- 您可以轻松设置新环境或恢复备份
- 它允许您在推送之前以 JSON 格式自定义设置
安装
使用 composer 安装此包
composer require algolia/laravel-scout-settings
Laravel 5.5
如果您使用 Laravel 5.5,此包将利用 包自动发现 功能。注册命令不需要做更多。
Laravel 5.4 及之前版本
如果您使用的是旧版本的 Laravel,您必须将服务提供者添加到 config/app.php
中的 providers
数组。
Algolia\Settings\ServiceProvider::class,
用法
您现在将获得两个新的命令,它们都可在 artisan
中使用。它们都接受一个模型的全限定类名,就像 Laravel Scout 用于导入/清除数据一样。
以下示例假设您有一个 App\Contact
类,它使用 Searchable
特性。
注意:Scout 允许您使用 searchableAs()
方法自定义索引名称。此包将遵循此命名约定。
备份设置(项目 ⬅️ Algolia)
以下命令将所有设置和同义词从 App\Contact
的索引中导出到以下文件中
- 设置:
resources/algolia-settings/index_name.json
- 同义词:
resources/algolia-settings/index_name-synonyms.json
- 查询规则:
resources/algolia-settings/index_name-rules
php artisan algolia:settings:backup "App\Contact"
注意,如果您想向文件名添加前缀(这是 v1 版本的默认行为),可以传递 --prefix
选项。
php artisan algolia:settings:backup "App\Contact" --prefix
推送设置(项目 ➡️ Algolia)
以下命令将读取 resources/algolia-settings/
中文件的设置、同义词和查询规则,并将它们导入到 Algolia 的索引中。
php artisan algolia:settings:push "App\Contact"
您也可以像备份命令一样传递 --prefix
选项。
自定义目录
默认情况下,设置、规则和同义词被保存到 resources/algolia-settings
。可以通过定义名为 ALGOLIA_SETTINGS_FOLDER
的环境变量来自定义此目录。例如,以下命令将所有索引资源保存到 resources/indexmeta
。
ALGOLIA_SETTINGS_FOLDER=indexmeta php artisan algolia:settings:backup
测试
composer test
需要帮助?
请随时在我们的 社区论坛 上发帖。
贡献
欢迎贡献!