Search is something that almost any site or app with more than a few pages can benefit from. It’s important that the user can find the information quickly and easily without having to wait.
Some of the commonly used engines include Algolia, ElasticSearch and Solr.
Which ones have you used and what would you recommend for high-performance and great user experience?
Latest comments (24)
I've worked at Algolia and am obviously biased but sold on the product. I use it when I need extensive search features and great performance on large datasets.
But 9 out of 10 times, I use Fuse.js because of its very limited footprint as an independent package, no infrastructure needed. Also, it can be executed on the back-end if you have performance limitations on the front-end.
ElasticSearch
I did an exercise on this topic recently for a project, and then wrote up my findings: deliciousreverie.co.uk/post/search...
What a coincidence! I literally just hit publish on a post announcing an open source search engine I've been working on: dev.to/kishorenc/announcing-typese...
If you are already familiar with Algolia and Elasticsearch, I think you will like Typesense. Take a look and do let me know what you think!
In one of my previous jobs I was in charge of developing the whole search strategy for a company. We chose solr and was very happy with it. Solr and Elastin are Lucene based but Solr and Lucene are now one repo. Solr changed a lot in last few years and is very flexible in what you can do with it. But it's definitely hardest one to setup out of these (aldo they did a lot of work to make it easier for the most common usecaees).
I would go for solr for bigger complex projects with a lot of content types, etc..
For smaller sites and simple search on those I would go for something little bit eaiser.
Using django-haystack and a custom backend, we only successfully installed Solr.
I even created a small gist to install all the things to make it work :)
I'm using Fuse in my static documentation site generator and I'm really pleased with it. Although I'm not using the fuzzy search which its supposed to be its strength
I used Fuse for a recent internal Laravel project at work. It's basically a portfolio site for showcasing projects we've worked on with various clients, and needed to support searching for projects by client name, project name, team member name and taxonomy.
I built a simple endpoint to get all the searchable data about the various projects, and return it as JSON. Fuse then uses that as a data source, and it works fantastically well.
lunr.js - Only flat file CMS and serverless functions are enough for my needs
Actually, I asked about this a little earlier than yours, but nobody answered.
What's your favorite full-text search implementation?
Pacharapol Withayasakpunt ・ Oct 10 ・ 1 min read
For now I'm using direct DB search 😅 in Taskord, but I have a plan to move to Elasticsearch!
Here is the video of how our search works: loom.com/share/e16d311d490346a39f1...
I index all my posts on
db.json
for blogzen.js.org/cari