I agree that this should be discussed without resorting to personal attacks.
So far, in this thread, I have yet to see an example where the default search results in the app are better than the search results when sorted by name. And there are several examples where the search results by name are demonstrably better. Is there any reason why the search by name shouldn’t be the default?
AFAICT, the search is based on SQLite’s “like” function along with some extra fields (name, description) in the app description. In reading through dbhelper it’s clear that we could use FTS5 to greatly improve search results. One option could be to load the metadata.json into SQLite via the json1 extension, and then use the FTS5 engine against that table.
We’ve recreated the six year discussion in #336 in this thread.
I’m willing to contract someone to implement FTS5 in the client because clearly the community needs it and the current state annoys the crap out of me when trying to find apps on device. My java is rusty and I don’t have time to write the code. If anyone wants to take a crack at it, dm me. If not, upwork exists for this reason. The end of the contract is an accepted MR on gitlab.
Can we expect a better search in fdroid like is is any exect word in written the actual app moat times shows in 3or 2apps down and if you make a spelling mistake then you can’t even find the app.
Interesting discussion. I switched to Foxy Droid a few years ago, its search returned much more relevant results than the official client at the time. Haven’t used the F-Droid app since.
@human Am I on shrooms or did you just throw a bunch of words together?!
Plz Lower the bar to the (excessive, IMO) management-specified level:
Be civil. Don’t post anything that a reasonable person would consider offensive, abusive, or hate speech. (See FAQ - F-Droid Forum )
Maybe human was just careless. Or experimenting with alpha quality text obfuscating software. A polite reminder their statement made no sense is perfectly acceptable, IMO.
create view app_search as
(select id, PACKAGE_NAME, PACKAGE_NAME search, 1000 score from app) union
(select id, PACKAGE_NAME, SEARCH_NAME search, 1000 score from app) union
(select id, PACKAGE_NAME, SEARCH_SUMMARY search, 100 score from app) union
(select id, PACKAGE_NAME, SEARCH_Whats_New search, 10 score from app) union
(select id, PACKAGE_NAME, SEARCH_Category search, 50 score from app) union
(select id, PACKAGE_NAME, SEARCH_DESCRIPTION search, 1 score from app)
;
-- example search for "photo"
select
id,
PACKAGE_NAME,
sum(score) score
from APP_SEARCH
where search like '%photo%'
group by id, PACKAGE_NAME
order by sum(score) desc, PACKAGE_NAME;
this way finding in the app-name or app-packagename has a higher score that app-summary or app-description and is therefore listed at the beginning.
I was looking for a simple contact app for my newly LineageOS for MicroG running phone installed from scratch. Not even one result containing “contacts” on the first page. Complete rubbish to be honest. Very frustrating finding all those random results. It’s like putting first gear on a car you want to drive and the car starts going backwards.
If you have plans to make it work in the future but you know it doesn’t work well at the moment why did you leave it by default? Common guys this is important.
I am lucky that I searched why the search on F-droid was so bad and I found this thread. Many others won’t do it and won’t find the “search by name” option and therefore stop using F-droid.
Hello, I think this is a major issue that should be prioritized as high by the development team (if any), because F-droid is the first result for new users that want to switch to FLOSS and Search is the main feature they want to use. We need to make FLOSS more accessible to newcomers.
I have the same problem. Often I’ll search for something in F-Droid with the exact name, for search results I’ll first get a handful of unrelated apps, and the app I’m looking for is halfway down.