Package

Lacasera Elastic Bridge

An eloquent way to search

Package

lacasera/elastic-bridge

View on GitHub →

ElasticBridge — an eloquent way to search

An Eloquent Way To Search.

ElasticBridge allows you to write Fluent, Eloquent like queries against Elasticsearch and OpenSearch in your Laravel application.

With ElasticBridge, you can interact with your search indexes as easily as you would with traditional Eloquent models — full-text search, filters, aggregations, attribute casting, bulk indexing, and multi-index queries — bringing the power of Elasticsearch/OpenSearch into the Laravel ecosystem with no effort.

Requirements

  • PHP 8.2 or 8.3
  • Laravel 10.x, 11.x, or 12.x
  • Elasticsearch 8.x or OpenSearch 2.x

Compatibility Matrix

Laravel Version PHP Version Testbench Version Carbon Version PHPUnit Version
10.x 8.2, 8.3 8.* ^2.63 ^10.5
11.x 8.2, 8.3 9.* ^2.63 ^10.5
12.x 8.3 10.* ^3.8.4 ^11.5.3

Installation

Install the package via Composer:

composer require lacasera/elastic-bridge

Overview

php artisan make:bridge HotelRoom
<?php
declare(strict_types=1);
 
namespace App\Bridges;
 
use Lacasera\ElasticBridge\ElasticBridge;
 
class HotelRoom extends ElasticBridge
{
 
}
<?php
declare(strict_types=1);
 
namespace App\Http\Controllers;
 
use App\Bridges\HotelRoom;
use App\Requests\SearhRequest;
 
class SearchController extends Controller
{
public function __invoke(SearhRequest $request)
{
$rooms = HotelRoom::asBoolean()
->matchAll()
->orderBy('price', 'DESC'),
->filterByTerm('code', 'usd')
->filterByRange('price', 20, 'gte')
->filterByRange('price', 500, 'lte')
->cursorPaginate(50)
->get(['price']);
 
 
return response()->json([
'data' => $rooms
]);
}
}

Documentation

AI-assisted development

ElasticBridge is built to be first-class for AI coding agents:

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

TODO [] Add logging for queries and response...

Lacasera Elastic Bridge Related Articles

Elastic Bridge: Eloquent-Style Queries for Elasticsearch and OpenSearch image

Elastic Bridge: Eloquent-Style Queries for Elasticsearch and OpenSearch

Read article
Acquaint Softtech logo

Acquaint Softtech

Acquaint Softtech offers AI-ready Laravel developers who onboard in 48 hours at $3000/Month with no lengthy sales process and a 100 percent money-back guarantee.

Acquaint Softtech
Pushsilver logo

Pushsilver

Pushsilver is simple invoicing for freelancers and small studios — send polished invoices, automate reminders, and get paid on time without the bloat.

Pushsilver
No Compromises logo

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $9500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum