alejandroakbal/laravel-scout-advanced-meilisearch
Laravel Scout extension adding advanced query builder filters (comparisons, grouped where/orWhere, between, notIn) plus two compatible drivers: meilisearch_advanced for better Meilisearch filtering/total counts and collection_advanced for in-memory testing.
Added next changes to the basic query builder:
where('column', '<=', $value) - extended where, which supports 3 optional parameters for comparison.
Two parameters are also allowed.where(Clusure $query) - where can take a closure as the first parameter in order to group queries (the same
for orWhere)whereBetween('column', [$value1, $value2])whereNotIn('column', [$value1, $value2, $value3])orWhere, orWhereIn, etcThe drivers are compatible with the new scout builder.
Uses all the advantages of meilisearch for comparison the results, searching in indexed arrays.
Also fixes an issue with the calculation of the total number of values.
(The current implementation requests the entire dataset in case scout builder has ->query() method used)
The driver imitates how meilisearch work and completely relies on collections. It should be used only for tests as the whole searchable models data is in memory. The driver allows testing filtering and sorting as well as Extended scout builder features.
config/scout.php set 'driver' to meilisearch_advanced or collection_advanced (for tests)Use PHP with Docker
docker run --rm \
-u "$(id -u):$(id -g)" \
-v "$(pwd):/var/www/html" \
-w /var/www/html \
laravelsail/php82-composer:latest \
composer install
docker run --rm \
-u "$(id -u):$(id -g)" \
-v "$(pwd):/var/www/html" \
-w /var/www/html \
laravelsail/php82-composer:latest \
composer test
You can publish a package version with:
git tag -a 1.0.0 -m "First release"
git push --tags
How can I help you explore Laravel packages today?