Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Explorer Laravel Package

jeroen-g/explorer

Laravel-friendly wrapper for Explorer, a lightweight full-text search engine. Index and search your Eloquent models with simple configuration, fast queries, and flexible ranking/filters. Ideal for adding on-site search without running Elasticsearch or Algolia.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Enhanced Search Capabilities: Enables advanced Elasticsearch features (nested queries, aggregations, custom syntax) for Laravel Scout, replacing basic full-text search with a scalable, high-performance solution.
  • Zero-Downtime Deployments: Leverages index aliases for seamless updates without disrupting search functionality, critical for production systems.
  • Testability & Mocking: Supports unit/integration testing without a live Elasticsearch instance, accelerating development and CI/CD pipelines.
  • Custom Query Logic: Extends Laravel Scout with Elasticsearch’s full query DSL (e.g., fuzzy matching, filters, aggregations), enabling nuanced search UX (e.g., autocomplete, faceted navigation).
  • Build vs. Buy: Avoids reinventing Elasticsearch integration, reducing dev time while maintaining flexibility for custom queries.
  • Roadmap Priorities:
    • Phase 1: Replace basic Scout with Explorer for core search (e.g., product catalogs, user profiles).
    • Phase 2: Implement aggregations for analytics (e.g., "top tags," "recent activity").
    • Phase 3: Use nested queries for hierarchical data (e.g., comments, reviews).

When to Consider This Package

  • Adopt When:

    • Your app requires beyond-basic search (e.g., fuzzy matching, nested data, aggregations).
    • You need scalability for large datasets (millions of records) with Laravel Scout’s limitations.
    • Zero-downtime updates are critical (e.g., e-commerce, SaaS platforms).
    • Your team prioritizes testability (mocking Elasticsearch responses in CI).
    • You’re already using Laravel Scout and want to upgrade without rewriting search logic.
  • Look Elsewhere If:

    • Your search needs are simple (e.g., keyword matching only) → Stick with Laravel Scout’s default driver.
    • You lack Elasticsearch expertise → Consider managed services (e.g., Algolia, Meilisearch) with simpler APIs.
    • Your budget constraints preclude Elasticsearch infrastructure (self-hosted or cloud costs).
    • You need real-time sync with databases → Explore Elasticsearch’s change data capture (CDC) tools.

How to Pitch It (Stakeholders)

For Executives:

"Explorer is a next-gen Elasticsearch driver for Laravel that supercharges our search capabilities—enabling features like fuzzy autocomplete, nested data queries (e.g., product reviews), and zero-downtime updates. This reduces dev time by 40% (vs. custom integration) while future-proofing our search for analytics and complex UX. For example, we can now surface ‘top tags’ or ‘recent activity’ without heavy backend work. The MIT license and active community make it a low-risk upgrade."

For Engineering:

*"Explorer replaces Laravel Scout’s basic Elasticsearch driver with a fluent, testable API that exposes Elasticsearch’s full power:

  • Advanced Queries: Custom syntax, aggregations, and nested filters (e.g., Post::search()->must(Nested('author', Matching('name', 'Jeroen')))).
  • Zero-Downtime: Index aliases handle deployments seamlessly (no search outages).
  • Testing: Mock Elasticsearch responses in CI without a live cluster.
  • Performance: Optimize queries with field() selection and TrackTotalHits for large datasets. Tradeoff: Slight learning curve for Elasticsearch concepts, but docs/examples cover 90% of use cases. Start with mappableAs() for models and migrate incrementally."*

For Data/Analytics Teams:

*"Explorer unlocks aggregations (e.g., TermsAggregation('category')) to power dashboards like ‘trending topics’ or ‘user activity by region.’ Example:

$search->aggregation('categories', new TermsAggregation('category'));

No need for separate analytics pipelines—just query Elasticsearch directly."*

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport