{"repo":"pdphilip/elasticlens","free":true,"listed":false,"github":"https://github.com/pdphilip/elasticlens","clone":"git clone https://github.com/pdphilip/elasticlens.git","description":"ElasticLens for Laravel: Full-text Elasticsearch for your SQL models","language":"PHP","stars":108,"topics":["elasticsearch","laravel","search"],"license":"MIT","category":"databases-storage","readme_excerpt":"Search your Laravel models with Eloquent ease and Elasticsearch power Scout's simplicity • Elasticsearch's power • Your rules Scout gives you a search box behind a black box. ElasticLens gives you a search engine you can open up. Every index is a real Eloquent model you own. You define the field mappings. You define the schema. You see exactly what's indexed and how. No magic, no guessing, no driver abstractions between you and your data. Powered by Laravel-Elasticsearch. --- How It Works 1. Add the trait 2. Generate the index model Creates IndexedUser : a real Elasticsearch model that stays synced with your User via observers. Every create, update, delete is reflected automatically. 3. Search --- Embed Relationships Here's where the \"oh cool\" becomes \"holy shit.\" You've got a User model. Profiles in one table. Company in another. Logs in a third. Country in a fourth. In SQL, searching across all of that is a JOIN nightmare you pretend doesn't bother you. With ElasticLens, you flatten everything into one searchable document: Now search across all of it: Six SQL tables. Zero JOINs. One query. Update a Profile ? The parent IndexedUser rebuilds automatically. The observer chain traces all the way up. You don't have to think about it. --- Conditional Indexing Not everything deserves an index entry: Excluded records are tracked as skipped (not failed) in build state and health checks. --- Index Migrations Define your Elasticsearch mapping with a Blueprint. Same idea as database mi","default_branch":null,"files":null,"tree":[],"storefront":"/r/pdphilip","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/pdphilip/elasticlens/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}