During the process of building arbeitnow there was a need for providing a near instant search experience for Job Seekers.
- Easy to integrate with PHP
- Runs reasonably well on VPS systems
- Good community support (GitHub or Stackoverflow)
I had a bit of experience on Elasticsearch with a small project, which I learnt with the help of Udemy tutorials which were great. It should have been the obvious choice, except for the fact that it does require a steep learning curve and setup to get it going smoothly.
So I decided to give Meilisearch a try. It's quick, small footprint, integrates well using their SDK and provides great tolerance for typo's. But unfortunately, it lacks a lot when it comes to customising Search filters.
Things missing from Meilisearch:
- Setting up Synonyms from a file
- Multiple WHERE clauses, thus limiting search to simple queries and restricts us to mostly single columns WHERE conditions
- Multi Index searching
- Sorting Results
Elasticsearch supports all of the above (their recent licensing change is another thing!) so I decided to go with it.
Meilisearch's public roadmap is indeed promising, so I will surely be coming back to it in the near future, it is a great tool for smaller projects and hopefully it gets the love it deserves!