top | item 28188472

(no title)

axhl | 4 years ago

What's your underlying data store and how do you find the experience of runningly synchronising this with MeiliSearch?

discuss

order

adrianvincent|4 years ago

I use postgres as the data store.

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.

ledoublegui|4 years ago

Hi! MeiliSearch product team here! It's super cool to see your feeback!

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 :)