- What is nramos/search-indexer used for?
- nramos/search-indexer is a search indexing package built around Doctrine ORM entities with a Meilisearch driver and a pluggable abstraction for other backends. It lets you define indexable entity data, keep indexes synchronized through lifecycle events, and run configurable search queries. Its natural home is a Doctrine-based application such as Symfony, Laminas, or Laravel using laravel-doctrine/orm, not an Eloquent-first Laravel codebase.
- Does nramos/search-indexer work with Eloquent models in Laravel?
- Not natively. The TPM assessment describes the package as a Doctrine ORM entity indexer, and adapting it to Eloquent would mean writing your own metadata extractor and event bridge, effectively a rewrite of the mapping layer. For Eloquent-first Laravel services, stay on Laravel Scout with the official Meilisearch driver.
- How do I install and configure nramos/search-indexer in a Laravel app?
- Install with composer require nramos/search-indexer, then register Doctrine entity mappings, wire the indexer into the persistence lifecycle, and configure your Meilisearch host and key. In Laravel this depends on laravel-doctrine/orm rather than Eloquent. The provided excerpt lacks a full installation guide, so confirm the driver contract and configuration keys in the package source before committing.
- Which Laravel, PHP, Doctrine, and Meilisearch versions are supported?
- The context does not publish a definitive support matrix. Review composer.json for PHP, Doctrine ORM, and Meilisearch client constraints, and test against your exact Laravel and PHP versions. The TPM assessment flags compatibility risk because zero dependents means version ranges are unlikely to be validated against real consumer matrices.
- How does nramos/search-indexer keep the search index synchronized with database changes?
- The package maps entity metadata and lifecycle events to index documents, using hooks such as postPersist, postUpdate, and postRemove or an explicit service call. That supports near-real-time synchronization when wired correctly, but the TPM assessment warns that deletes and relationship changes need explicit verification. Do not assume nested entity changes propagate automatically.
- Does nramos/search-indexer support incremental indexing and a reindex or backfill command?
- Lifecycle event hooks suggest incremental indexing is possible, but the context does not confirm a documented reindex or backfill command. Ask the maintainer whether such a command exists and whether it is idempotent and resumable. If not, plan to build your own backfill tooling before relying on the package for index recovery.
- How are deletes and relationship changes handled by nramos/search-indexer?
- Deletes are likely covered only if you wire the postRemove event or call the indexer explicitly on deletion. Associated or nested entity changes are the higher risk: the TPM assessment specifically asks whether they propagate or leave documents silently stale. Add tests for relationship updates and delete flows, and consider a periodic reconciliation job.
- Can I use a search backend other than Meilisearch with nramos/search-indexer?
- The architecture exposes an indexer abstraction and a driver boundary intended for multiple search backends, with Meilisearch as the implemented driver. The TPM assessment notes no evidence that a second driver has ever been written, so you would be the first implementer of that extension point. Treat the abstraction as unproven and budget for leaks.
- How does nramos/search-indexer compare with Laravel Scout and the Meilisearch driver?
- Laravel Scout with the official Meilisearch driver is the incumbent for Eloquent stacks, is first-party-adjacent, and is already understood by most Laravel teams. nramos/search-indexer only justifies a look when you need Doctrine entity indexing or backend extensibility that Scout does not provide. Qualify per service rather than switching an entire organization.
- How should I test nramos/search-indexer, and what production risks should I check?
- Write integration tests for lifecycle events, deletes, relationship changes, and idempotent reindexing against a real Meilisearch instance; the package has no visible production usage or third-party bug reports to learn from. For production, note the high adoption risk from 3 stars, 0 dependents, a single maintainer, and a six-month release gap scenario. Audit the Composer lockfile, confirm no abandoned transitive dependencies, and treat adoption as a spike rather than a platform decision.