shieldo/solarium-async-plugin
A Solarium plugin that adds asynchronous query support to the PHP Solr client, letting you dispatch multiple requests concurrently and collect responses later. Useful for speeding up batch searches and reducing wait time when querying Solr from Laravel or plain PHP applications.
Consider it when all of these hold:
php-http/* adapters). Verify the pinned Solarium version against the plugin's event hooks before anything else — this is the single biggest adoption gate.Look elsewhere when:
composer require it."For executives: Search pages that fan out several Solr calls currently pay for them one after another. There is a small, MIT-licensed plugin that lets those calls run concurrently, which can cut search response time and reduce the number of PHP workers tied up waiting on Solr. The catch: it is essentially unmaintained (one star, no downstream users), so we would copy the code into our own codebase and own it, at a cost of roughly a day of engineering plus ongoing pinning. Recommendation: treat it as a validated pattern to prototype, not a dependency to adopt. Timebox a spike, measure p95 before/after, and fund it only if the latency win is material and the migration to a modern Solarium async path is not cheaper.
For engineering: This is a Solarium plugin that hooks the request-execution event and returns HTTPlug promises instead of blocking results, with an wait()-style resolution step. The code surface is tiny, so the sane move is to vendor it, pin it to our exact Solarium/HTTPlug adapter version, and add a test that asserts all promises resolve and errors propagate (promise rejection handling is the likely failure mode we'd inherit). Migration path: when we move to PSR-18-era Solarium, delete the vendored plugin and use the client's native concurrency. Gate the spike on: (1) version compatibility check, (2) a reproducible benchmark of a representative multi-query search page, (3) confirmation that error/timeout semantics match today's serial behavior.
How can I help you explore Laravel packages today?