New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

zing/laravel-scout-opensearch

Laravel Scout custom engine for OpenSearch
642,562 37
Install
composer require zing/laravel-scout-opensearch
Latest Version:3.5.1
PHP:^8.0
Laravel:9 – 13
License:MIT
Last Updated:Oct 29, 2026
Links: GitHub  ·  Packagist
Maintainer: zingimmick

Laravel Scout OpenSearch

Build Status Code Coverage Latest Stable Version Total Downloads Latest Unstable Version License

Requires PHP 8.0+

Require Laravel Scout OpenSearch using Composer:

composer require zing/laravel-scout-opensearch

Configuration

return [
    // ...
    'opensearch' => [
        'hosts' => [env('OPENSEARCH_HOST', 'localhost:9200')],
        'basicAuthentication' => [env('OPENSEARCH_USERNAME', 'admin'), env('OPENSEARCH_PASSWORD', 'admin')],
        'retries' => env('OPENSEARCH_RETRYS', 2),
    ],
];

Set app name and table name for model

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(),
        ];
    }
}

Configuration for Amazon OpenSearch Service

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'),
        ],
    ],
];

Debug and logging

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')),
    ],
];

License

Laravel Scout OpenSearch is an open-sourced software licensed under the MIT license.

Related Packages

romangrinev/laravel-opensearch-engine

Custom Laravel Scout OpenSearch Engine

20,540 13
bytexr/laravel-scout-opensearch

Laravel Scout OpenSearch Engine

70,680 4
cloudmediasolutions/laravel-scout-opensearch

OpenSearch engine for Laravel Scout

27,867 18
lunarphp/scout-database-engine

Laravel Scout engine to allow full searching in MySQL and PostgreSQL.

51,684 5
teamtnt/laravel-scout-tntsearch-driver

Driver for Laravel Scout search package based on https://github.com/teamtnt/tnts...

2,849,716 1,135

Version History

Version Released PHP License
3.5.1 ^8.0 MIT
3.5.0 ^8.0 MIT
3.4.3 ^8.0 MIT
3.4.2 ^8.0 MIT
3.4.1 ^8.0 MIT