- Can I use symfony/ai-manticore-search-store directly in Laravel without Symfony AI?
- No, this package requires Symfony AI’s StoreInterface. For Laravel, you’d need to wrap it in a facade or service provider to expose the vector store methods (e.g., `findNearest()`). Alternatively, use it as a reference to build a Laravel-native ManticoreSearch client.
- What Laravel versions support this package?
- The package targets Symfony 6.4+, which aligns with PHP 8.1+. Laravel 10+ (PHP 8.1+) should work, but test thoroughly. No Laravel-specific dependencies exist—compatibility hinges on Symfony AI’s Laravel interop.
- How do I set up ManticoreSearch for Laravel?
- First, install the package: `composer require symfony/ai manticoresearch/manticoresearch symfony/ai-manticore-search-store`. Then deploy ManticoreSearch (Docker recommended for testing) and configure the Symfony AI Store with your connection details (host, port, index). Bind the store to Laravel’s container via `AppServiceProvider`.
- Is ManticoreSearch faster than Pinecone or Weaviate for Laravel?
- Yes, ManticoreSearch offers sub-100ms latency for 1M vectors out-of-the-box, often outperforming managed services at scale. However, it lacks auto-scaling—ideal for self-hosted setups where you control infrastructure. Benchmark with your dataset before committing.
- Can I mix keyword and vector search (hybrid search) in Laravel?
- Yes, if your ManticoreSearch schema includes both text and vector fields. The package leverages Manticore’s native hybrid search capabilities. Configure your index to support `MATCH()` (keyword) + `KNN()` (vector) queries in a single request.
- What’s the migration path from Elasticsearch or pgvector to ManticoreSearch?
- You’ll need custom ETL scripts to transform embeddings into ManticoreSearch’s format (e.g., `ADD INDEX knn(index_name, 'vector_field', 'L2')`). Use Manticore’s `INSERT INTO ... VALUES` syntax. Test with a subset of data first to validate schema compatibility.
- Are there Laravel-specific alternatives to this package?
- For Laravel-native solutions, consider `laravel-ai/vector` (experimental) or build a custom client using `manticoresearch/manticoresearch`. This package’s advantage is its integration with Symfony AI’s abstractions, which may simplify RAG pipelines if you’re already using Symfony components.
- How do I handle ManticoreSearch updates in production?
- Monitor the [ManticoreSearch changelog](https://github.com/manticoresoftware/manticore/releases) and Symfony AI’s roadmap. Test updates in staging first—schema changes (e.g., index alterations) may require downtime. Use Docker for consistent local testing.
- What’s the maximum scale this setup supports in Laravel?
- ManticoreSearch handles ~10M vectors per node efficiently. For larger datasets, shard your index across multiple Manticore instances (manual configuration). Latency remains low (<50ms) if hardware is adequate (SSD-backed storage, sufficient RAM).
- How do I test vector search in Laravel before production?
- Use Docker to spin up ManticoreSearch locally (`docker-compose.yml` as in the README). Mock the Symfony AI Store in Laravel tests with a lightweight in-memory store, then swap to ManticoreSearch in production. Validate queries with known vectors (e.g., `findNearest()`) and measure response times.