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

Zendsearch Laravel Package

diszo2009/zendsearch

Laravel-friendly integration of ZendSearch for full-text indexing and search. Provides a simple way to configure and use ZendSearch in PHP apps, helping you add fast text search capabilities with minimal setup.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Zendsearch
Is this package suitable for a Laravel 9+ application needing full-text search?
This package wraps ZendSearch, a legacy PHP library, which may not fully align with Laravel 9+ due to PHP 8.x compatibility issues. Test thoroughly in your environment, as it lacks modern Laravel integrations like Scout or Eloquent support. Consider alternatives like Meilisearch or Algolia if scalability is a priority.
How do I install and configure ZendSearch in Laravel?
Run `composer require diszo2009/zendsearch` to install. Configure the index directory path in your Laravel Service Provider or config file, then initialize the search engine via the facade or service container. No additional Laravel-specific setup is required beyond basic dependency injection.
Can I use this package for indexing PDFs, Word docs, or HTML files?
Yes, ZendSearch supports indexing PDF, DOC, HTML, and plain text files out of the box. You’ll need to manually configure the parser for each file type when building your index. There’s no built-in Laravel file upload or processing pipeline, so you’ll handle file handling separately.
Will this work with Laravel Scout for hybrid search?
No, this package does not integrate with Laravel Scout. Scout is designed for cloud-based search engines like Algolia or Meilisearch, while ZendSearch is a standalone PHP library. You’d need to build a custom bridge or use ZendSearch as a standalone solution.
What Laravel versions does this package support?
The package itself doesn’t enforce Laravel version constraints, but it relies on PHP 5.x (ZendSearch’s requirement). Laravel 5.5+ may work with PHP 7.4+ compatibility tweaks, but Laravel 8+ (PHP 8.0+) could break due to ZendSearch’s legacy codebase. Test in your environment.
How do I handle indexing updates in real-time for Eloquent models?
ZendSearch lacks native Laravel event listeners or queue support, so real-time updates require manual triggers. Listen to Eloquent model events (e.g., `saved`) and call ZendSearch’s indexing methods directly. For large datasets, batch updates or cron jobs are recommended to avoid blocking I/O.
Are there performance limitations I should know about?
ZendSearch performs poorly with datasets exceeding 100K records due to its single-process, file-based architecture. Query latency increases with volume, and there’s no built-in caching or sharding. For production, test with your expected dataset size and consider alternatives like Meilisearch for scalability.
Can I use this package in a microservices architecture?
No, this package is not designed for microservices. ZendSearch runs as a standalone PHP process with no API layer or REST endpoints. If you need distributed search, consider Elasticsearch or a dedicated search microservice with a Laravel client library.
How do I secure the ZendSearch index directory?
Store the index directory outside the Laravel public root and restrict file permissions (e.g., `chmod 700`). Avoid indexing sensitive data, as ZendSearch lacks encryption or access controls. For production, monitor directory access logs for unauthorized changes.
What alternatives should I consider before using ZendSearch?
For modern Laravel apps, evaluate Laravel Scout (with Algolia/Meilisearch), Meilisearch PHP SDK, or PostgreSQL’s `tsvector` for full-text search. If you need a lightweight, PHP-native solution, consider Meilisearch’s PHP client or a custom solution with SQLite FTS5. ZendSearch is only viable for legacy systems or small-scale, offline use.
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.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky