bytexr / laravel-scout-opensearch
Laravel Scout OpenSearch Engine
Installs: 29 138
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 2
Forks: 4
Open Issues: 0
Requires
- illuminate/database: ^11.0
- illuminate/support: ^11.0
- laravel/scout: ^10.9
- opensearch-project/opensearch-php: ^2.1
Requires (Dev)
- laravel/pint: ^1.7
- pestphp/pest: ^2.5
README
Introduction
Laravel Scout OpenSearch simplifies the integration of Laravel Scout with OpenSearch, offering a seamless experience. Additionally, it boasts full compatibility with AWS OpenSearch, enabling hassle-free implementation.
Installation
composer require bytexr/laravel-scout-opensearch
To make the necessary updates, navigate to config/scout.php and add the following code:
return [ ... 'opensearch' => [ 'host' => env('OPENSEARCH_HOST', 'https://localhost:9200'), 'access_key' => env('OPENSEARCH_ACCESS_KEY', 'admin'), 'secret_key' => env('OPENSEARCH_SECRET_KEY', 'admin'), 'options' => [ 'ssl_verification' => env('OPENSEARCH_SSL_VERIFICATION', true), // Used for AWS 'sigv4_enabled' => env('OPENSEARCH_SIGV4_ENABLED', false), 'sigv4_region' => env('OPENSEARCH_SIGV4_REGION', 'eu-west-1'), ], ], ];
Finally, ensure that all required environment variables are set in your .env
file, and don't forget to set the SCOUT_DRIVER
value to opensearch
.
Explicit Mapping
Should you need to specifically define the mapping for your indexes, you can do so by setting the index-settings
key in config/scout.php as follows:
return [ ... 'opensearch' => [ ... 'index-settings' => [ Post::class => [ 'mappings' => [ 'properties' => [ 'id' => [ 'type' => 'text', ], 'title' => [ 'type' => 'text', ], ], ], ], ], ] ]
License
Laravel Scout OpenSearch is open-sourced software licensed under the MIT license.