loupe/matcher
Loupe Matcher turns search queries and arbitrary text into precise matches: tokenize phrases and negations, normalize locale-specific spelling variants, decompose compound words, calculate match spans, and format results with highlighting, cropping, and truncation.
Full Changelog: https://github.com/loupe-php/matcher/compare/0.4.0...0.4.1
This release introduces a redesigned decompounder cache with significant improvements in both performance and memory usage.
Using the exact new warmed composer bench-movies benchmark:
| Version | Time | Peak memory |
|---|---|---|
| 0.3 — substring cache | 20.599 s | 83.192 MB |
| 0.4 - complete-token LRU cache | 8.407 s | 68.760 MB |
| Improvement | 59.2% faster | 17.3% less memory |
The new implementation is approximately 2.45× faster while using 14.5 MB less peak memory.
Full Changelog: https://github.com/loupe-php/matcher/compare/0.3.3...0.4.0
Full Changelog: https://github.com/loupe-php/matcher/compare/0.3.2...0.3.3
Full Changelog: https://github.com/loupe-php/matcher/compare/0.3.1...0.3.2
Full Changelog: https://github.com/loupe-php/matcher/compare/0.3.0...0.3.1
TL;DR
🚀 Massive release!
The standout feature is our new dictionary-based word decomposition for German and English, enabling intelligent splitting of compound words and significantly improving search matching quality. This was weeks in the making and, to our knowledge, is a capability that simply doesn't exist elsewhere in the PHP ecosystem.
Combined with multiple matcher and tokenizer optimizations, new benchmark infrastructure, and improved snippet generation, this release delivers substantial gains in both search relevance and performance 🥳
Full Changelog: https://github.com/loupe-php/matcher/compare/0.2.4...0.3.0
Full Changelog: https://github.com/loupe-php/matcher/compare/0.2.3...0.2.4
Full Changelog: https://github.com/loupe-php/matcher/compare/0.2.2...0.2.3
Full Changelog: https://github.com/loupe-php/matcher/compare/0.2.1...0.2.2
Full Changelog: https://github.com/loupe-php/matcher/compare/0.2.0...0.2.1
Full Changelog: https://github.com/loupe-php/matcher/compare/0.1.1...0.2.0
Full Changelog: https://github.com/loupe-php/matcher/compare/0.1.0...0.1.1
Full Changelog: https://github.com/loupe-php/matcher/commits/0.1.0
How can I help you explore Laravel packages today?