F-Droid Client search feature is broken

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?

3 Likes

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.

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.

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.

1 Like

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?!

1 Like

Stay kind. English probably isn’t humans mother tongue.
I think I understood what was meant. Yes it wasn’t easy. But doable.

English probably isn’t humans mother tongue.

A little insulting if not true.

Stay kind.

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.

I have implemented sort by score like this:

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.

result:

   ID  PACKAGE_NAME                              SCORE
------  ----------------------------------------  -----
542721  site.leos.apps.lespas                      1111
534739  com.fediphoto                              1101
534789  com.fediphoto.lineage                      1101
557365  de.bahnhoefe.deutschlands.bahnhofsfotos    1101
554641  dev.leonlatsch.photok                      1101
554581  fr.s13d.photobackup                        1100
554602  unisiegen.photographers.activity           1100
564700  org.stingle.photos                         1011
554599  la.daube.photochiotte                      1001
519140  name.gdr.acastus_photon                    1001
560273  com.gtp.showapicturetoyourfriend           1000
554645  com.ruesga.android.wallpapers.photophase   1000
554568  de.onyxbits.photobookmark                  1000
529362  com.tnibler.cryptocam                       111
555016  org.piwigo.android                          111
561794  com.simplemobiletools.camera                101
562105  com.simplemobiletools.gallery.pro           101
556243  com.tistory.deque.previewmaker              101
518970  de.k3b.android.androFotoFinder              101
543576  de.k3b.android.lossless_jpg_crop            101
564038  fr.nuage.souvenirs                          101
565708  jp.muo.syncmemories                         101
534999  me.murks.filmchecker                        101
532822  me.rosuh.easywatermark                      101
524765  org.proninyaroslav.blink_comparison         101
550900  org.witness.sscphase1                       101
539876  click.dummer.imagesms                       100
526608  com.dozingcatsoftware.cameratimer           100
570631  com.dozingcatsoftware.vectorcamera          100
536425  com.flipcamera                              100
562332  com.gmail.mugcuposup.android                100
520837  com.isanexusdev.androidcpg                  100
527611  com.nathanosman.chronosnap                  100
528181  com.nauj27.android.colorpicker              100
567548  com.thibaudperso.sonycamera                 100
533166  com.weatherlight.elloshare                  100
564771  de.digisocken.stop_o_moto                   100
544486  de.hu_berlin.informatik.spws2014.mapever    100
535409  de.repat.mosf                               100
520396  eu.domob.anacam                             100
535097  eu.faircode.finegeotag                      100
528194  eu.quelltext.coloring                       100
537750  fr.mobdev.goblim                            100
526546  fr.tvbarthel.apps.cameracolorpicker         100
560382  mobi.omegacentauri.SendReduced              100
520560  org.quovadit.apps.andof                     100
563413  wb.receiptspro                              100
539823  com.germainz.identiconizer                   11
535459  com.ultramegasoft.flavordex2                 11
537017  de.hauke_stieler.geonotes                    11
538256  me.anon.grow                                 10
547437  uk.co.richyhbm.monochromatic                 10
528290  ac.robinson.mediaphone                        1
518574  cf.fridays.fff_info                           1
528999  ch.admin.bag.covidcertificate.verifier        1
557098  com.asdoi.quicktiles                          1
527330  com.cheogram.android                          1
533916  com.exifthumbnailadder.app                    1
568805  com.genonbeta.TrebleShot                      1
538071  com.graphhopper.maps                          1
532873  com.hos_dvk.easyphone.full                    1
541503  com.infomaniak.drive                          1
547714  com.jairaj.janglegmail.motioneye              1
555223  com.m3sv.plainupnp                            1
537937  com.mendhak.gpslogger                         1
572809  com.nathaniel.motus.cavevin                   1
536473  com.pitchedapps.frost                         1
560265  com.securefilemanager.app                     1
572017  com.tobykurien.webapps                        1
533381  com.vishnuraghav.EnRecipes                    1
571511  de.cyberit.wasgeht                            1
552507  de.dennisguse.opentracks                      1
558005  de.digisocken.reotwe                          1
526559  de.k3b.android.camerafolder                   1
561302  de.k3b.android.geo2articlesmap                1
548833  de.msal.muzei.nationalgeographic              1
554661  de.rwth_aachen.phyphox                        1
560965  dev.marchello.sharik                          1
536552  eu.quelltext.mundraub                         1
553073  io.oversec.one                                1
568827  io.treehouses.remote                          1
563063  me.ccrama.redditslide                         1
526943  me.hackerchick.catima                         1
530198  me.thanel.dank                                1
529596  net.cyclestreets                              1
556552  net.guildem.publicip                          1
552886  net.osmand.plus                               1
532805  net.schueller.instarepost                     1
535871  org.forkgram.messenger                        1
540843  org.jellyfin.mobile                           1
541982  org.kontalk                                   1
536244  org.liberty.android.freeotpplus               1
550066  org.noise_planet.noisecapture                 1
533463  re.indigo.epistolaire                         1
565358  superfreeze.tool.android                      1
532185  sushi.hardcore.droidfs                        1
568377  truewatcher.tower                             1
1 Like

Absolutely.
But maybe we don’t agree on the meaning of “polite”.

When a you man product page2 under another another interpretation errr throw suchlife id don’t overthink it :wink:

1 Like

agree on the meaning of “polite”

And we’ve nearly reached the level of “It depends on what the meaning of the word ‘is’ is.” Bill Clinton and the meaning of “is”

:laughing:

Someone has an attempt to improve the searching via the androidx appsearch library Fdroid-appsearch-release.apk · 8d112782abb717c44f9e97209863ed391c62c8b4 · Ngenge Senior / F-Droid Client · GitLab

1 Like

No, we haven’t. I was being sarcastic. Unspas reply was anything but polite.

Nevermind.

Hello,
I just registered to reply on this threat.

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.

Thank you

1 Like

better search

Try

F-Droid Classic (F-Droid client with the classic UI) - F-Droid Classic | F-Droid - Free and Open Source Android App Repository

Bonus: developed on F/LOSS self-hosted gitlab.

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.

The Nightly has a slightly different search, not radically better but meh

1 Like

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.

3 Likes

I knew I wasnt losing my mind; I have same problem!

2 Likes