Replace solr-based FTS backend with sonic
-
https://github.com/valeriansaliou/sonic
🦔 Fast, lightweight & schema-less search backend. An alternative to Elasticsearch that runs on a few MBs of RAM.
Lightweight as in their single-thread benchmark which indexed 1M records and sustained 1k rps search traffic never went above 28MB ram (!). There are some limitations: it's schemaless and only supports integer keys, so it may need to be paired with some other data store to replace solr (depending on which features are used^), but if possible it would allow virtually all users to enable email FTS regardless of their server memory capacity. The sonic-channel nodejs library describes the api.
As a data point, sonic is used by ArchiveBox to provide FTS features to archived pages. ArchiveBox is on the App Wishlist.
^ I was gonna look into this myself, but I wasn't able to find the mail app on cloudron git, am I blind or is it not published?
-
I've upvoted this because it's always nice to know about other options. But I don't know enough to know if this really could replace solr.