Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Elasticsearch backend for Spotlight #1224

Open
rdmark opened this issue Jul 12, 2024 · 1 comment
Open

Elasticsearch backend for Spotlight #1224

rdmark opened this issue Jul 12, 2024 · 1 comment

Comments

@rdmark
Copy link
Member

rdmark commented Jul 12, 2024

Netatalk presently uses Gnome Tracker as the backend for file system indexing and search for the Spotlight feature. However, Tracker has the drawback of being explicitly designed for GUI applications, notably the Gnome desktop environment. As such, it has a few drawbacks:

  • It may pull in many dependencies that aren't relevant for Netatalk or a headless server system in general
  • It expects to have a Gnome desktop environment, and throws many warnings when missing

Since Netatalk introduced Spotlight support a decade ago, more light-weight and specialized indexing solutions have appeared. Notably Elasticsearch.

In fact, Samba supports Elasticsearch as a Spotlight indexing backend in addition to Tracker. It should be investigated if the same could be applied to Netatalk.

@rdmark
Copy link
Member Author

rdmark commented Dec 7, 2024

Alpine Linux version 3.21 has now moved from Tracker to Localsearch (Gnome's rebranding of this technology). When installing the localsearch package, 962 MB of packages are installed on a headless Alpine system, including Weyland, the Mesa 3D graphics library, several multimedia codecs, hardware drivers, and so on.

This is yet another data point that proves Localsearch (Tracker) isn't an appropriate backend technology for a server application.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant