4 ms·
For something small with a minimal footprint, I'd recommend Typesense. https://github.com/typesense/typesense https://github.com/typesense/typesense Elasticse
by binarymax 3y ago
For something small with a minimal footprint, I'd recommend Typesense. https://github.com/typesense/typesense https://github.com/typesense/typesense
Elasticsearch is heavy, and relational databases with search bolted on (like Postgres or SQLite) aren't great.
- bshipp 3y agoIt depends on what the user requirements are. FTS works pretty well with both Postgres and SQLite, in my experience. 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. https://github.com/VADOSWARE/fts-benchmark https://github.com/VADOSWARE/fts-benchmark
- binarymax 3y agoFor personal use nobody cares about 100ms vs 10ms response. What they do care about is relevance. Consider the following from those repo outputs: 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.
- bshipp 3y agoI'm not trying to be argumentative. As long as people find a solution they're happy with, I think that's great. For me, I'm far less interested in handling typos, but I can see how it would be valuable in many applications. I'm usually less interested in tying in and learning another set of services if I can get 90% of the way there with one, but leaving the option of adding it later if additional requirements make it necessary.
- evdubs 3y agoThe article covers typo resilience in the section "Typo tolerance / fuzzy search". 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?
- hardwaresofton 3y agoAlso I’ve got a small project in which I try to compare meilisearch and postgres fts w/ pg_trm, it’s called podcastsaver: 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