Difference between revisions of "Spotlight with Elasticsearch Backend"

From SambaWiki
(Created page with "= Introduction = Using [https://www.elastic.co/products/elasticsearch Elasticsearch] as search engine, is the recommended setup for any deployment. = Installation = You hav...")
 
Line 9: Line 9:
 
* [https://www.elastic.co/products/elasticsearch Elasticsearch] the search database engine itself
 
* [https://www.elastic.co/products/elasticsearch Elasticsearch] the search database engine itself
 
* [https://github.com/dadoonet/fscrawler fscrawler] the filesystem indexing tool
 
* [https://github.com/dadoonet/fscrawler fscrawler] the filesystem indexing tool
  +
  +
Recently an alternative to fscrawler for indexing has evolved;
  +
  +
[https://github.com/Ellerhold/fs2es-indexer fs2es-indexer]
  +
  +
This is a small Python programm with low-overhead that will only index filesystem metadata, not file content.
   
 
= Configuration =
 
= Configuration =

Revision as of 10:15, 29 June 2021

Introduction

Using Elasticsearch as search engine, is the recommended setup for any deployment.

Installation

You have to install the following components:

Recently an alternative to fscrawler for indexing has evolved;

fs2es-indexer

This is a small Python programm with low-overhead that will only index filesystem metadata, not file content.

Configuration

Elasticsearch

Elasticsearch doesn't need any specific configuration to work with Samba, once it's installed and up and running, you're ready to index your filesystems with fscrawler.

fscrawler

Please consult the fscrawler documentation to learn how to index your filesystems.

Samba

You have to set a few global options to tell Samba how to connect to Elasticsearch and you have to enable Spotlight on a per share basis.

   [global]
   spotlight backend = elasticsearch
   elasticsearch:address = localhost
   elasticsearch:port = 9200
   [share]
   ...
   spotlight = yes

See the smb.conf manpage for detailed explanation of all available parameters.

Testing

There's a handy commandline tool that works as Spotlight client: mdfind. See the manpage of mdfind for usage details.