Search engines for small systems

I have captioned 60000 of my fotos by KI. Now I am looking for a search engine that delivers me a type ahead search experience for the fotos.

Elastic Search and SOLR are the first to mention when the term search engine comes up.

But both are Monsters in volume, configurations and maintenance. I have first hand experience.

So I looked for small search engines. I am a Pythoneer so a search engine without a Python binding was ruled out.

Rust has brought up a lot of search engines in the recent years. They are small, fast and no nonsense.

A good example is Sonic https://github.com/valeriansaliou/sonic. It is lightning fast, the protocol is  terse.

So I decided to use it. The Python bindings (written in Rust) were broken, but the protocol is easy so I programmed my own client.

But then sonic does not accept my filepaths as a search result - since they were to long. It turns out that sonic is quite special on the result of a query. The result should be a OID which then is looked up in a database to get the information.

OK, So rest in peace Sonic, I will never disturb you again.

I already used a search engine in Python which is called Whoosh https://pypi.org/project/Whoosh/ I had build an internet braille-radio for the visual impaired based on it.

I was unhappy with its performance so I had put it mentally away.

Since after the sonic disaster nothing worse could happen I revisited Whoosh and I was astonished. Whoosh is about one order of magnitude slower than sonic, but it does its job.

It does its job even better than SOLR.

Given the question "ca ead" it produces "picture of a cat  strolling in a meadow"