- Can I use this package to replace Laravel Scout for self-hosted search?
- No, this package doesn’t integrate with Laravel Scout. It’s a standalone ZendSearch fork requiring custom setup (e.g., service providers, model observers) to index Eloquent models. Scout is better for managed services like Algolia or Meilisearch, while this is for PHP-native search.
- What Laravel versions does this package support?
- The package works with Laravel 8+ and PHP 8.0+, but it’s not Laravel-specific. You’ll need to manually bridge it with Laravel’s service container, facades, or model events. Test thoroughly with your Laravel version, as no official Laravel integration exists.
- How do I index Eloquent models with this package?
- You’ll need to create custom logic, such as model observers or events, to sync Eloquent changes to ZendSearch documents. There’s no built-in Eloquent integration—you’ll map model attributes to ZendSearch fields manually, then trigger indexing on `created`, `updated`, or `deleted` events.
- Is this package suitable for large datasets (e.g., 100K+ records)?
- No, this is a PHP-based solution and may struggle with datasets exceeding 100K records due to memory/CPU constraints. For large-scale search, consider Elasticsearch or Meilisearch, which are optimized for distributed indexing and high concurrency.
- Does this package support faceted search or aggregations?
- Basic faceted search is possible, but advanced aggregations (e.g., nested filters, geospatial queries) are limited compared to Elasticsearch. You’ll need to manually implement faceting logic using ZendSearch’s API, which may require custom query builders or DSL wrappers.
- How do I handle query translation from Laravel’s Query Builder to ZendSearch?
- There’s no automatic translation—you’ll need to build a custom query builder or DSL to map Laravel’s `where()` clauses to ZendSearch syntax. For example, `where('name', 'like', '%test%')` would require manual conversion to a ZendSearch `TermQuery` or `QueryParser`.
- Is this package actively maintained? What if bugs or security issues arise?
- The package is a fork of ZendSearch (last updated in 2026) with no visible active maintenance. If bugs or security issues emerge, you’ll need to fork it yourself or rely on community patches. Always audit dependencies for vulnerabilities, especially in production.
- Can I use this for real-time search (e.g., instant results as users type)?
- No, this is not optimized for real-time search. ZendSearch’s PHP implementation introduces latency, especially for large indexes. For instant search, use Elasticsearch, Algolia, or Meilisearch, which are designed for low-latency, high-concurrency scenarios.
- What are the performance trade-offs compared to Elasticsearch?
- This package will be slower for high-scale or real-time use due to its pure PHP implementation. Elasticsearch, being C-based and distributed, handles concurrent writes and large datasets far better. Benchmark your expected workload—this is suitable for medium-scale apps with predictable traffic.
- Are there alternatives to this package for Laravel full-text search?
- Yes, consider Laravel Scout with drivers like Algolia, Meilisearch, or Elasticsearch for managed services. For self-hosted options, Meilisearch’s PHP client or a custom Elasticsearch integration via `elasticsearch/elasticsearch` are more modern and feature-rich than this ZendSearch fork.