pdphilip/elasticsearch
Laravel Eloquent-style ORM for Elasticsearch. Use familiar models and query builder methods to create, update, paginate, delete, and run ES searches: term/phrase, match, fuzzy, geo distance, highlighting, and more—designed to feel native in Laravel.
LIKE queries with fuzzy, phrase, or geo-distance searches (e.g., "Find users within 10km of New York").UserLog::with('user')->whereGeoDistance(...)).create(), update(), or delete() methods.elastic:re-index command, reducing downtime for production updates.Adopt this package if:
Model::searchTerm('query')->get()).Look elsewhere if:
LIKE or Laravel Scout’s basic implementations may suffice.For Executives: "This package lets us deliver Google-level search and analytics in our Laravel app without hiring Elasticsearch experts. By integrating Elasticsearch directly into Eloquent, our dev team can build features like product search, user activity dashboards, or location-based recommendations faster and with less risk than custom solutions. For example, we can replace slow SQL queries with near-instant Elasticsearch results—critical for scaling user growth. The package also automates tedious tasks like re-indexing, reducing operational overhead. Upfront cost: minimal (Elasticsearch hosting); ROI: immediate for search-heavy features."
For Engineers: *"This is Eloquent for Elasticsearch—no more writing raw Elasticsearch queries or context-switching between SQL and search APIs. Key benefits:
Model::searchTerm(), whereGeoDistance(), or whereFuzzy() just like Eloquent.UserLog::with('user')->where('status', 1)).elastic:re-index command handles schema changes safely, even in production.How can I help you explore Laravel packages today?