zing / laravel-scout-opensearch
Laravel Scout 的 OpenSearch 定制引擎
3.4.1
2024-04-09 17:05 UTC
Requires
- php: ^8.0
- ext-json: *
- laravel/scout: ^8.5 || ^9.1 || ^10.0
- opensearch-project/opensearch-php: ^2.0
Requires (Dev)
- mockery/mockery: ~1.3.3 || ^1.4.2
- nunomaduro/larastan: ^1.0 || ^2.0
- orchestra/testbench: ^4.5 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0
- phpstan/phpstan-mockery: ^1.0
- phpunit/phpunit: ^9.3.3 || ^10.0 || ^11.0
- zing/coding-standard: ^6.4 || ^7.0
README
要求 PHP 8.0+
使用 Composer 安装 Laravel Scout OpenSearch
composer require zing/laravel-scout-opensearch
配置
return [ // ... 'opensearch' => [ 'hosts' => [env('OPENSEARCH_HOST', 'localhost:9200')], 'basicAuthentication' => [env('OPENSEARCH_USERNAME', 'admin'), env('OPENSEARCH_PASSWORD', 'admin')], 'retries' => env('OPENSEARCH_RETRYS', 2), ], ];
设置模型的应用名称和表名
class SearchableModel extends Model { use Searchable; public function searchableAs(): string { return 'searchable_models_index'; } /** * @return array{id: mixed} */ public function toSearchableArray(): array { return [ 'id' => $this->getScoutKey(), ]; } }
Amazon OpenSearch 服务配置
return [ // ... 'opensearch' => [ 'hosts' => [env('OPENSEARCH_HOST', 'localhost:9200')], 'basicAuthentication' => [env('OPENSEARCH_USERNAME', 'admin'), env('OPENSEARCH_PASSWORD', 'admin')], 'retries' => env('OPENSEARCH_RETRYS', 2), 'sigV4Region' => env('OPENSEARCH_REGION', 'us-east-1') , 'sigV4Service' => env('OPENSEARCH_SERVICE', 'es') , 'sigV4CredentialProvider' => [ 'key' => env('OPENSEARCH_IAM_KEY'), 'secret' => env('OPENSEARCH_IAM_SECRET'), ], ], ];
调试和日志记录
return [ // ... 'opensearch' => [ 'hosts' => [env('OPENSEARCH_HOST', 'localhost:9200')], 'basicAuthentication' => [env('OPENSEARCH_USERNAME', 'admin'), env('OPENSEARCH_PASSWORD', 'admin')], 'retries' => env('OPENSEARCH_RETRYS', 2), 'logger' => (new \Monolog\Logger('opensearch'))->pushHandler(new \Monolog\Handler\RotatingFileHandler('opensearch.log')), 'tracer' => (new \Monolog\Logger('opensearch'))->pushHandler(new \Monolog\Handler\RotatingFileHandler('opensearch.log')), ], ];
许可证
Laravel Scout OpenSearch 是一个开源软件,受 MIT 许可证 许可。