5

I have Ubuntu 18.04 installed with the default GNOME interface.

I use the search box accessed by hitting Super all the time to find my files.

But that search is extremely limited, and can basically will only match literal strings of letters, numbers, and spaces that appear in a file. Any symbols seem to kill its ability to find a file.

I'm trying to find out what GNOME uses behind the scenes to search, and where I might file a bug report (or find one that already exists).

Some examples of searches I'd expect to be easy, but which fail:

filename: AC-DC
search: AC-DC
assumed issue: - in search query

filename: SAM Format Specification (SAMTools) v1 2015-05-11.pdf
search: sam specification
assumed issue: not an exact substring match

filename: families.tsv
search: families.tsv
assumed issue: . in search query

Edit:
FYI, I have tried a few alternatives, and none really satisfied, though I'm open to suggestions.
Albert works, but it eats up 2GB RAM and 8% of my CPU.
And I tried tracker a while ago, but no matter how insistently I told it to index, it never turned up any search results.

3
  • 1
    Open terminal and type locate AC-DC or locate families.tsv and have your reality turned upside down :) Jul 31, 2019 at 2:08
  • 2
    Thanks, I got a lot of spam scrolling my terminal :P But seriously, I do appreciate the tip. Unfortunately I do already know about locate and I was hoping for a GUI solution. But the fact that these searches work in locate only heightens my curiosity about what GNOME is using to implement these searches, and why they can't get it right?
    – Nick S
    Jul 31, 2019 at 2:45
  • 1
    I used Kupfer or Gnome Do before which both feature a powerful and quick search. I don't know about the current state. Also rofi looks interesting, but I didn't use it.
    – pLumo
    Jul 31, 2019 at 7:04

1 Answer 1

1

In lieu of any better information, I thought I would post that it looks like GNOME search uses the locate command to carry out its searches.

After a search for system, I saw a locate process searching for *system*:

locate --ignore-case --ignore-spaces --basename --transliterate *system*

This could explain why it can only find exact substring matches, if it literally just does a locate search for *[search string]*.

Ironically, through testing I've discovered that without the --transliterate argument, searches with dashes and periods work! I don't understand iconv enough to know why, though.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .