Search not working for multiple words #127
Labels
No Label
Priority
Critical
Priority
High
Priority
Low
Priority
Normal
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
Type
Breaking
Type
Documentation
Type
Enhancement
Type
Feature
Type
Report
Type
Security
Type
Suggestion
Type
Testing
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: infrastructure/extensions-website#127
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
I think it is search for each word individually now?
Example: https://extensions.blender.org/search/?q=Blender+ID
I expected to find: https://extensions.blender.org/add-ons/blender-id-authentication/
Our current code looks for a substring match, resulting in partial word matches, which makes the results noisy for short tokens like
id
.The extension you expected to find is listed among other results, but this makes search not really useful.
I couldn't find a simple way to implement a whole-word match that would work the same way in both postgresql and sqlite.
And anyway, the current implementation of search is too naive and inefficient to be called production-ready.
We should look into testing full text search in postgresql on our use cases, maybe that would be sufficient: https://docs.djangoproject.com/en/4.2/ref/contrib/postgres/search/
I've deployed #162, this should improve things a little bit, but it should be considered a stopgap solution.
If we need to improve search, we should start collecting requirements and use cases in a form similar to this report: query + expected result set.
From access logs we can lookup what people are looking for, in the last month we've been getting approx 150-200 requests to /search endpoint per day, so it is possible to identify popular search terms by hand of with a simple query, and then check if we actually find the things that should be found.
Closing this issue for now.