PHPackages                             kiamars-mirzaee/elasticsearch-eloquent - 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. kiamars-mirzaee/elasticsearch-eloquent

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

kiamars-mirzaee/elasticsearch-eloquent
======================================

An elegant Eloquent-style query builder for Elasticsearch in Laravel

00PHP

Since Feb 9Pushed 3mo agoCompare

[ Source](https://github.com/kiamars-mirzaee/elasticsearch-eloquent)[ Packagist](https://packagist.org/packages/kiamars-mirzaee/elasticsearch-eloquent)[ RSS](/packages/kiamars-mirzaee-elasticsearch-eloquent/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Elasticsearch Eloquent
======================

[](#elasticsearch-eloquent)

An elegant Eloquent-style query builder for Elasticsearch in Laravel. Write Elasticsearch queries using familiar Laravel syntax.

[![PHP Version](https://camo.githubusercontent.com/cc9cdea9aa96b40a822425e981b0a030e3371202973c7d57b74e8e99834f81dc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253545382e312d626c7565)](https://php.net)[![Laravel Version](https://camo.githubusercontent.com/3020a5644b41b0a6e42c716ae0486d76e1af9fdfb5ccbce77edf26d8c4e0554e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c61726176656c2d25354531302e3025323025374325323025354531312e302d726564)](https://laravel.com)[![Elasticsearch Version](https://camo.githubusercontent.com/fadde03d0b4b62ca7fd4cc294e99a5af9dc44ebf80faa6b32bcae4baff4ddfe9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f656c61737469637365617263682d253545382e302d6f72616e6765)](https://www.elastic.co)

Features
--------

[](#features)

✅ **Eloquent-style Query Builder** - Familiar Laravel syntax for Elasticsearch
✅ **Comprehensive Where Clauses** - `where`, `whereIn`, `whereNull`, `whereNot`, `whereBetween`
✅ **Nested Object Support** - Query nested objects with `whereNested()`
✅ **Full-Text Search** - Powerful search with `search()` and `matchPhrase()`
✅ **Aggregations** - `termsAgg()`, `sumAgg()`, `avgAgg()`, `minAgg()`, `maxAgg()`
✅ **Sorting &amp; Pagination** - `orderBy()`, `latest()`, `paginate()`
✅ **Source Filtering** - Select specific fields with `select()`
✅ **Type Casting** - Automatic type casting for attributes
✅ **Model Scopes** - Define reusable query scopes

Installation
------------

[](#installation)

Install via Composer:

```
composer require kiamars-mirzaee/elasticsearch-eloquent
```

### Publish Configuration

[](#publish-configuration)

```
php artisan vendor:publish --tag=elasticsearch-config
```

### Environment Variables

[](#environment-variables)

Add to your `.env`:

```
ELASTICSEARCH_HOST=localhost:9200
ELASTICSEARCH_USERNAME=
ELASTICSEARCH_PASSWORD=
```

Quick Start
-----------

[](#quick-start)

### 1. Create Your Model

[](#1-create-your-model)

```
