For something small with a minimal footprint, I'd recommend Typesense. https://github.com/typesense/typesense
Elasticsearch is heavy, and relational databases with search bolted on (like Postgres or SQLite) aren't great.
Elasticsearch is heavy, and relational databases with search bolted on (like Postgres or SQLite) aren't great.
Here's a git repo someone can modify to do a cross comparison on a specific dataset, if they are interested. It doesn't seem to indicate the RMDBs are outclassed in a small-scale FTS implementation.
Typesense
[timing] phrase [superman]: returned [28] results in 4.222797.ms
[timing] phrase [suprman]: returned [28] results in 3.663458.ms
SQLite [timing] phrase [superman]: returned [47] results in 0.351138.ms
[timing] phrase [suprman]: returned [0] results in 0.07513.ms
So SQLite is faster, but who cares? I want things like relevance and typo resilience without having to configure anything.This adds a step between query entry and text search where you find the similarity of query words to unique lexemes if the word is not a lexeme. Seems like a reasonable compromise to me?
Podcastsaver.com (click on the nerds tab in the top right)
Never got to it but there are a bunch of other search engines worth adding — Sonic, Typesense, etc. Maybe some day