Hi everyone, we are currently comparing Typesense ...
# community-help
t
Hi everyone, we are currently comparing Typesense with MeiliSearch and we try to evaluate which one is better especially compared to Elasticsearch. Please, can you tell us some benefits of Typesense compared to MeiliSearch? Also how is it possible to keep the index up to date in Typesense if the data flow is the following: Postgres > ETL? > Typesense? In Elastiscsearch there is Logstash wich can act as an ETL to keep the index up to date. How is it possible in Typesense? Best regards, Thomas
k
We have a comparison here: https://typesense.org/typesense-vs-algolia-vs-elasticsearch-vs-meilisearch/ We don't have a ETL connector, but if you can publish Postgres updates to a queue like kafka then we encourage people to write a consumer for handling the indexing. These days, kafka is omnipresent in the ETL world, so I think this is the easiest way to keep the index upto date.
t
Hi @Kishore Nallan, thanks for your feedback! The issue is that Kafka takes a lot of effort to maintain. We are using Nats.io as a message broker which is much simpler to maintain + the performance is better. An ETL layer for Typesense would help a lot. Without an ETL layer, we need to do a CRUD operation for Postgres and Typesense which is not really efficient. Or do you have any further idea in mind, how to keep the index up to date in Typesense? Best regards, Thomas
k
Forgive me if I am wrong, but it should be possible to write a consumer program that consumes from Nats, just like a Kafka consumer, correct?
So I see a pipeline like this: app -> Nats -> Nats indexing consumer -> Typesense
t
Yes, it could work. Overall, it would be great, if you can provide some solutions/best practices in your docs for some message brokers. Because it's a really common problem. So something like that: DB (SQL or NoSQL) > Nats, Kafka, Redis etc. (ETL) > Typesense The following link provides a good overview regarding Message Brokers/Streaming: https://landscape.cncf.io/card-mode?category=streaming-messaging&grouping=category