PHPackages                             pdphilip/opensearch - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. pdphilip/opensearch

ActiveLibrary[Database &amp; ORM](/categories/database)

pdphilip/opensearch
===================

An OpenSearch implementation of Laravel's Eloquent ORM

v3.0.3(9mo ago)51300.2k—4.4%8[4 issues](https://github.com/pdphilip/laravel-opensearch/issues)MITPHPPHP ^8.2CI passing

Since Apr 29Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/pdphilip/laravel-opensearch)[ Packagist](https://packagist.org/packages/pdphilip/opensearch)[ Docs](https://github.com/pdphilip/laravel-opensearch)[ RSS](/packages/pdphilip-opensearch/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (19)Versions (20)Used By (0)

[![](https://camo.githubusercontent.com/1d263d7e906bccd517cc1775d54fa7b92a08e0f679c6ec26a126e6cf3cafd542/68747470733a2f2f63646e2e736e6970666f726d2e696f2f70647068696c69702f6f70656e7365617263682f6c61726176656c5f6f70656e7365617263682e706e67)](https://camo.githubusercontent.com/1d263d7e906bccd517cc1775d54fa7b92a08e0f679c6ec26a126e6cf3cafd542/68747470733a2f2f63646e2e736e6970666f726d2e696f2f70647068696c69702f6f70656e7365617263682f6c61726176656c5f6f70656e7365617263682e706e67)

Laravel-OpenSearch
==================

[](#laravel-opensearch)

[![Latest Stable Version](https://camo.githubusercontent.com/af374cd5bdd9cef99a2984f46325dad2bf5fb2a67edfcd25f4670bb786533862/687474703a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f70647068696c69702f6c61726176656c2d6f70656e7365617263682e737667)](https://packagist.org/packages/pdphilip/opensearch)[![GitHub Tests Action Status](https://camo.githubusercontent.com/1e0a1df8f1222e6b1585d805c89a218523b3d93c1a923edd1a554b5a75034cc8/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f70647068696c69702f6c61726176656c2d6f70656e7365617263682f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/pdphilip/laravel-opensearch/actions/workflows/run-tests.yml?query=branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/a91eaf01b3206be5d77330d3b2b18aaecef199a5b2caac0db273d3ebd2547976/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f70647068696c69702f6c61726176656c2d6f70656e7365617263682f7068707374616e2e796d6c3f6272616e63683d6d61696e266c6162656c3d636f64652532307374796c65267374796c653d666c61742d737175617265)](https://github.com/pdphilip/laravel-opensearch/actions/workflows/phpstan.yml?query=branch%3Amain++)[![Total Downloads](https://camo.githubusercontent.com/9da61bd935b2aa135c57e9285b4ce2354a4b142fdd75cd8778d60b749cc8e64f/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f70647068696c69702f6f70656e7365617263682e737667)](https://packagist.org/packages/pdphilip/opensearch)

> [OpenSearch](https://opensearch.net/) is a distributed, community-driven, Apache 2.0-licensed, 100% open-source search and analytics suite used for a broad set of use cases like real-time application monitoring, log analytics, and website search.

An OpenSearch implementation of Laravel's Eloquent ORM
------------------------------------------------------

[](#an-opensearch-implementation-of-laravels-eloquent-orm)

### The Power of OpenSearch with Laravel's Eloquent

[](#the-power-of-opensearch-with-laravels-eloquent)

This package extends Laravel's Eloquent model and query builder with seamless integration of OpenSearch functionalities. Designed to feel native to Laravel, this package enables you to work with Eloquent models while leveraging the powerful search and analytics capabilities of OpenSearch.

The Eloquent you already know:

```
UserLog::where('created_at','>=',Carbon::now()->subDays(30))->get();
```

```
UserLog::create([
    'user_id' => '2936adb0-b10d-11ed-8e03-0b234bda3e12',
    'ip' => '62.182.98.146',
    'location' => [40.7185,-74.0025],
    'country_code' => 'US',
    'status' => 1,
]);
```

```
UserLog::where('status', 1)->update(['status' => 4]);
```

```
UserLog::where('status', 4)->orderByDesc('created_at')->paginate(50);
```

```
UserProfile::whereIn('country_code',['US','CA'])
    ->orderByDesc('last_login')->take(10)->get();
```

```
UserProfile::where('state','unsubscribed')
    ->where('updated_at','
