It's ridiculously easy to use and has faceted search for my needs. However, there are some limitations so I have to use it in combination with redis, but the developers have a roadmap to fix these problems.
Synchronising with MeiliSearch is a bit of an effort because of the following limitations:
* When filtering by facet, it doesn't provide count for disjunctive facets
* No sort by
* No where clause (less than 50 for example)
To overcome these problems, I rebuild some parts of the database in redis, use code for filtering and query MeiliSearch multiple times for different facet counts.Both redis and MeiliSearch are ridiculously fast so the performance loss is negligible, but it makes my code quite complex. As soon as the developers add these missing features, I want to simplify my code and only use redis for query caching. Typesense had some of these limitations too, but I'm not sure if that's still the case.
Concerning the disjunctive count of the facets, we are thinking about it. It is feasible on the client side by making several requests but we are aware that is it not ideal at all from a developer experience point of view. We are still thinking about the best way to solve that case in one of our future iterations!
The sort feature is coming in v0.22 (string and numeric fields) you will be able to easily configure the balance between exhaustivity and relevancy at index level through the positioning of the ranking rules.
I'm not sure I understand the where clause point so I'd love to hear more details!
Thanks for using us and giving us this kind of feedback :)
By where clause I mean as in SQL. For example, select results where cost <= 50.
Insertion times grows linear with index size, up to tens of milliseconds with an index of couple 100k documents.
Go library is very un-go, with not all the options exposed. And had a couple of breaking changes without upgrading major versions.
Other then that, the search part works really well
I found the default order of results a bit off. Near-matches were positioned over exact matches.
I'm looking for a fulltext typo-tolerant search tool that integrates well Hasura+PG.
No nice integrations like hasura-backend-plus and combines hasura with minio/s3 and authentication service.
Use PG's built in full text search capabilities:
https://hasura.io/blog/full-text-search-with-hasura-graphql-...
https://www.lateral.io/resources-blog/full-text-search-in-mi...
Extend those capabilities with pggroonga:
MeiliSearch doesn’t strip HTML tags and i had to do that manually before adding posts to index
However, after thinking about it more, I wrote up this issue[0] with some ideas and thoughts so I could implement it as PR or work around it.
I ended up working around it, because that makes most sense: separation of concerns: meilisearch should indeed not get involved in stripping or fixing HTML as that i) ties Meili to HTML, ii) requires configuration and complexity to allow control and iii) adds features that become security-critical.
Indeed, my solution is to sanitize, clean and strip HTML before sending into the index.