An opinionated Laravel package for storing and retrieving objects from Elasticsearch or Algolia search indexes.
Spatie Searchindex is a Laravel package that provides a unified interface for storing and retrieving objects from search indexes like Elasticsearch and Algolia. It simplifies the process of integrating search functionality into Laravel applications by abstracting the underlying search engine complexities. Developers can easily index models, perform searches, and manage index operations through a consistent API.
Laravel developers who need to add search capabilities to their applications using Elasticsearch or Algolia. It is particularly useful for those who want a standardized way to interact with multiple search engines without writing boilerplate code.
Developers choose Spatie Searchindex because it offers a clean, opinionated abstraction over Elasticsearch and Algolia, reducing integration time and promoting code consistency. Its simple Searchable interface and fluent API make it easy to manage search indexes while maintaining flexibility for advanced querying.
Store and retrieve objects from Algolia or Elasticsearch
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Abstracts both Elasticsearch and Algolia into a single, consistent API, allowing developers to switch providers by changing configuration without rewriting search logic, as highlighted in the README's support for both engines.
Reduces boilerplate by requiring objects to implement a straightforward Searchable interface, with methods like upsertToIndex enabling easy CRUD operations on search indexes.
Supports raw Elasticsearch array queries and Algolia string/array queries, including query helpers for Algolia faceting, catering to advanced search needs without locking users into a single syntax.
Offers a clean facade and service provider integration in Laravel, with sane default configurations that simplify initial installation and usage, as shown in the installation steps.
Only supports Elasticsearch and Algolia, excluding other popular search engines like Solr or Meilisearch, which limits flexibility for projects with diverse backend requirements.
Built specifically for Laravel 5.1, an older version, potentially causing compatibility issues with newer Laravel releases and missing out on modern framework features and security updates.
Requires developers to write verbose, raw array queries for Elasticsearch, as demonstrated in the fuzzy search example, which can be error-prone and steepens the learning curve compared to more abstracted solutions.