0

Is there an open-source desktop indexing app that can be configured and queried via a web-based interface similar to what the discontinued google desktop search did (but without all the unnecessaries extras)?

I.e. looking for something a bit more advanced and configurable than command-line grep, ag (silverarrow), rg (ripgrep), locate or slocate. Some extra features for semantic searching and natural language processing would be nice but not a must.

The search is needed for both file and folder names, and text file contents (no need to handle binaries files). The file types can be limited to text, HTML and source code.

This would be the simplest possible implementation:

Update

DocFetcher (the free, open-source version) is close to what I am looking for, although it has a java SWT desktop GUI whereas I was looking for something that runs in the browser and would be easier to extend and adapt.

7
  • What do you mean by "desktop"? Also, @Jonas wanted to ask which platforms you're interested in this for - Windows, Linux, MacOS? All of them? Others?
    – einpoklum
    Commented Mar 1, 2022 at 17:39
  • by desktop i mean the local machine, preferably not something OS-specific; ideally would be a server-side (written in go, python, ruby, node.. etc) and a web gui
    – ccpizza
    Commented Mar 1, 2022 at 18:41
  • If you want lightweight then Pinot is lighter-than-web weight. If you want web-based then Tracker supports that, just does not enable it by default.
    – Jonas
    Commented Mar 4, 2022 at 9:14
  • @Jonas: what is Tracker? the name is ungooglable.
    – ccpizza
    Commented Mar 4, 2022 at 20:02
  • See my answer solely about Tracker: softwarerecs.stackexchange.com/a/82319/79100
    – Jonas
    Commented Mar 5, 2022 at 22:15

3 Answers 3

1

For Linux desktops, the indexing tool Pinot covers at least some of the needs:

A background daemon indexes document contents and metadata, and a client search tool can then do queries in both those indexes and in online Sherlock and OpenSearch web interfaces.
Those features mimick core ones of the MacOS tool Spotlight, but should be more lightweight and OS-agnostic.

Since both daemon and client tool is fully local on same host as the desktop, none of it is cloud-hosted, also the administration/configuration is done locally - not online as you describe as a requirement.

2
  • my main desktop is mac and i would like to have simpler and smaller-scale alternative to spotlight; something that would be OS-agnostic; more of a web UI for grep but [preferrably] with indexing
    – ccpizza
    Commented Mar 3, 2022 at 6:10
  • Pinot seems the best possible match, then: It is comparable to Spotlight but lighter and OS-agnostic - a web interface would be heavy (require a web browser).
    – Jonas
    Commented Mar 4, 2022 at 9:11
0

The GNOME component Tracker covers parts of the specified needs when using the Linux-based desktop environment GNOME, despite its name it can be used with other desktop environments as well, and supports extending to do the rest as custom setup:

A background daemon indexes document contents and metadata, and a client search tool can then do queries in both those indexes and in online Sherlock and OpenSearch web interfaces.

Since both daemon and client tool is fully local on same host as the desktop, none of it is cloud-hosted, also the administration/configuration is done locally - not online as you describe as a requirement. The collected data is however stored as RDF (a.k.a. Linked Open Data) and allows external querying through the standards-based semantic query language SPARQL.
You can extend this yourself to a web-based service. Start with reconfiguring to collect the data in an RDF Triple store on a separate machine, and then extend that with a SPARQL endpoint, e.g. a visual one like Sparnatural.

The project Zeitgeist can additionally be installed to track behavioral metadata like which applications was opened when, and collect bookmarks and chat messages from select applications. Zeitgeist operates independently from Tracker, but using RDF as storage as well (both projects are remnants of NEPOMUK, so a SPARQL service can be constructed to query both those data sources - and compine with external sources like DBPedia.

NB! All tools mentioned here is Free Software (a.k.a. Open Source), which means it is both free-of-charge and free-to-selfhost and free-to-make-a-million-dollar-business-from.

1
  • I've added some notes on how you can extend Tracker to have a web search interface.
    – Jonas
    Commented Mar 4, 2022 at 10:47
0

One solution is the open-source Xapian Omega — while it is meant originally as a website search tool, it fits into the desktop search niche and is available for all major OS's. It can parse a few dozens of formats which include HTML, word, pdf, xls, openoffice, macos numbers, pages files, etc.

Omega is a minimal web UI for the underlying Xapian engine. Being written in C it's lightning fast.

Omega doesn't come with a shiny installation and configuration wizard, so it takes a bit of digging in the documentation on how to generate the index, and especially how to hook the web search page which is a perl CGI script. For example, with MacOS's brew version of Omega the CGI script is located at /usr/local/Cellar/omega/1.4.18/lib/xapian-omega/bin/omega. Obviously, you'll need some sort of a web server that is able to run CGI scripts. Got it working with caddy2, apache2 and python's built-in dev server (python3 -m http.server --cgi).

The download page:

I have put together the steps for setting up omega search on MacOS:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.