The f-droid App search feature is broken

Why not simply switch the default search to using the sort by name option instead of sort by “freshness”? That is a very easy change that would improve things greatly.

If you guys are interested in accepting that idea I would be more than willing to change the few lines of code necessary to make that happen and submit it as an MR.

1 Like

I agree with sorenstoutner. Change the search defaults so it at least finds the apps that match the search term by their name first then apps with similar words in their app description second

1 Like

BTW, dvckdvkgo is burying “privacy browser” IDK how far down, and mogeek has your site on bottom of page 2, for me… (and they continue regularly giving plain 403 errors for searches with Tor).

1 Like

Neither of those surprise me. There is a huge difference in searching the general web for Privacy Browser and searching an app repository that contains an app named Privacy Browser for that exact phrase. Although I expect that over time, as Privacy Browser increases in popularity, that problem will take care of itself.

Regarding Tor, it does not surprise me that parts of the internet are inaccessible through their network. My own website blocks some Tor traffic because hacking attempts have come from those IP addresses:

@sorenstoutner is also a great source of many other lists, they all work with pfBlockerNG too.

1 Like

I think I found the problem. Search the f-droid app for ‘hackers keyboard’. The app reports ‘No Matching Applications Available’.

So now search the web f-droid for hackers keyboard and there it is in the search results.
It is at

Notice its file name on f-droid is not hackers keyboard it is org.pocketworkstation.pckeyboard.

So now use the f-droid app to search for pckeyboard and voila, there is the hackers keyboard in the search results

So now Privacy Browser on the f-droid web is at

So search the f-droid app for privacybrowser as one word and voila again there it is in the app at the top of the list lol.

The f-droid app is using the app filenames as its search database and not the regular app titles.

IIRC, it uses app name, description and package name. It doesn’t ignore app name, but the reason you get no result here is because it’s “hacker’s keyboard”, not “hackers keyboard”. The word “hackers” is nowhere to be found, so it doesn’t match.

That’s a hell of an attitude for someone who is clearly wrong.

But okay, here is the proof: the word “hackers” is not on that page:

Which is why F-Droid won’t find it with “hackers”:

But will with “hacker’s”:

Given how the word “hacker’s” is only in the title and not in the description or package name, the F-Droid app must be searching the titles too:

1 Like

Oh please. You think I cant see you edited your comment? You originally said the app is not called hackers keyboard anymore.

I find it very interesting you claim you can see I edited my comment, as I haven’t. If I did, there would’ve been a pencil icon and you could see exactly what I edited.

I don’t understand why you need to have such an attitude, telling me I’m posting “low-effort bullshit” and when I prove you wrong claim I edited my post while everyone can see I didn’t and claiming I said something everyone can verify I didn’t. Just admit you made a mistake? Everyone is wrong sometimes, there’s no shame in that. Hell, I am wrong often enough myself. Attacking people like you’re doing though is not cool.

Anyway, let’s get back on topic, shall we?


For what it is worth, edits in a short time frame after post will not result in the edit symbol or history.

But yes, please let’s be friendly y’all.

1 Like

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?

1 Like

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.