Search API Fails to Return Results for Multi-Keyword Queries
DesarrolloAntonio opened this issue · 4 comments
Data
Shiori version: 1.6.3
Describe the bug / actual behavior
When performing a search on the API with a single keyword, results are returned as expected. However, adding a second keyword results in an empty response list.
Expected behavior
I expect the search to return results that match both keywords.
To Reproduce
1 - I have a bookmark with this value, title":"Kotlin Design Patterns: Observer Explained | ProAndroidDev"
2 - With this endpoint (http://192.168.1.26:18080/api/bookmarks?page=1&keyword=kotlin) returns the correct elements
3 - With this endpoint (http://192.168.1.26:18080/api/bookmarks?page=1&keyword=kotlin%20Design) returns an empty list
just for add more data after a quick test:
search can't return Kotlin De
but return result for this Kotlin Design
🤔
just for add more data after a quick test: search can't return
Kotlin De
but return result for thisKotlin Design
🤔
With "kotlin Design" works
just for add more data after a quick test: search can't return
Kotlin De
but return result for thisKotlin Design
🤔With "kotlin Design" works
we change the logic of search a little in #721. as i remember searching is case insensitive so it return the result. maybe this need improvement but first we should solve current issue.
@fmartingr you work on that part of code more than me. do you have any idea? somehow it just search for text that separate with space..
As with a lot of other things, searching needs to be revisited at some point. I have been tempted to use bleve but that would make twice the storage for the same amount of bookmarks. Each database engine would need to have it's own Search
method with SearchOptions
passed from the query. I will fill in a proper issue when I sit down and think about it, there's just too many things to work on 😓