yeah, there aren't many alternatives unfortunately. I've used Sphinx a lot, but am now stuck with ES and it is horrible to operate, probably because we don't need a cluster solution so it is total overkill. Yeeeah for technical debt.
For small projects (for some 1000s of documents), I'd probably go with Postgresql FTS if possible.
Sphinx/Solr for anything with indices smaller than a couple 100GBs
After that, ES seems reasonable & worth the overhead
EDIT: my biggest issue with ES is that it seems to be specifically engineered to sell you support. So get a managed version if you can.
This was exactly my pain point as well. For smaller projects, ES is a overkill. So I decided to do something about it! I started working on an open source, really, developer friendly search engine that just works. It's pretty stable now and quite a few people use it and like it: https://github.com/typesense/typesense
> I'd probably go with Postgresql FTS if possible. Sphinx/Solr for anything with indices smaller than a couple 100GBs After that, ES seems reasonable & worth the overhead
why do you think you can't throw 1TB of data on postgresql?
Yes, it's searching against the ts_vector data types which can be indexed.
The problem with PG FTS is that it doesn't have advanced search functionalities (fuzzy matching, faceting, term distance, highlighting results) and it lacks the modern relevance scoring systems so that'll be the limiting factor instead of speed.
For small projects (for some 1000s of documents), I'd probably go with Postgresql FTS if possible. Sphinx/Solr for anything with indices smaller than a couple 100GBs After that, ES seems reasonable & worth the overhead
EDIT: my biggest issue with ES is that it seems to be specifically engineered to sell you support. So get a managed version if you can.