Comments (9)
Going to close this one now but would like the PR from @Boorinio to be sent to 11.x instead. Thanks!
from scout.
For those who want to search with filters, you can set filters by options
as:
$orders = Order::search('Star Trek')->options([
'filters' => 'status:open OR status:paid',
])->get();
from scout.
Could you share an exact code sample to reproduce this?
from scout.
- Set the engine to algolia
- Set
User
model searchable (or any searchable model) - Put the following code to your
routes/console.php
- Run
php artisan scout-where-in
// ......
use App\Models\User;
// ......
Artisan::command('scout-where-in', function () {
User::search('hi')
->whereIn('status', ['open', 'paid'])
->get();
});
And you will get
Algolia\AlgoliaSearch\Exceptions\BadRequestException
Invalid syntax for numeric condition:status=open
at vendor/algolia/algoliasearch-client-php/src/RetryStrategy/ApiWrapper.php:221
217▕
218▕ if (404 == $statusCode) {
219▕ throw new NotFoundException($responseArray['message'], $statusCode);
220▕ } elseif ($statusCode >= 400) {
➜ 221▕ throw new BadRequestException($responseArray['message'], $statusCode);
222▕ } elseif (2 != (int) ($statusCode / 100)) {
223▕ throw new AlgoliaException($statusCode.': '.$body, $statusCode);
224▕ }
225▕
+7 vendor frames
8 routes/console.php:9
Laravel\Scout\Builder::get()
+13 vendor frames
22 artisan:13
Illuminate\Foundation\Application::handleCommand(Object(Symfony\Component\Console\Input\ArgvInput))
from scout.
I'm so confused. This indeed can't ever work how it's implemented right now but has been around for like 8 years already. I can't believe we never caught this before...
from scout.
Hah, I originally documented this 😂 laravel/docs#7550
I guess I misunderstood how this worked in Algolia. However, we can't change the docs since meilisearch and other engines now work this way. I feel like we should update the AlgoliaEngine to use filters
instead of numericFilters
. The Algolia docs also say this should be used preferable: https://www.algolia.com/doc/api-reference/api-parameters/numericFilters/
The refactored code to filters
should behave the same as in the code example from numericFilters
below:
from scout.
Thank you for reporting this issue!
As Laravel is an open source project, we rely on the community to help us diagnose and fix issues as it is not possible to research and fix every issue reported to us via GitHub.
If possible, please make a pull request fixing the issue you have described, along with corresponding tests. All pull requests are promptly reviewed by the Laravel team.
Thank you!
from scout.
@driesvints are we going to close this issue now?
#837
from scout.
Made a pr for 11.x
#839
from scout.
Related Issues (20)
- Searchable not sync to meilisearch with other index HOT 1
- Laravel 11 Support? HOT 1
- MongoDB Support HOT 1
- Optimization of Reindexing in Laravel Scout HOT 2
- Typesense driver makes unnecessary api cals HOT 3
- Incorrect Total Count in Laravel Scout Pagination HOT 3
- paginate() + query() = wrong pagination HOT 2
- Scout import for large datasets fails after upgrading from 10.X to Laravel 11.X HOT 9
- Scout with Meilisearch, is sending all model data instead of just the specific data defined in the toSearchableArray() method. HOT 2
- Incorrect Total Count in Laravel Scout Pagination HOT 23
- Cannot save more than 1 item per collections HOT 4
- Implement `updateIndexSettings` for algolia search HOT 2
- Add Support for Manticore Search HOT 3
- Database Engine: Support for doing compound full text search HOT 1
- Saving a Soft-Deleted Eloquent Model makes it searchable again HOT 3
- Typesense\Exceptions\ObjectNotFound HOT 1
- Methods don't work as well as they do in the manual. HOT 1
- Typesense Import: Index Race Condition HOT 18
- [Typesense] Using `query` together with `paginate` only yields the first page HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scout.