What is our primary use case?
I am using Elastic Search not only for search purposes but for rendering on maps as well.
I have not searched any vectors so far, so I cannot provide you with the exact output of that.
I was not using vectors in Elastic Search because I was using a vector database. As I mentioned, I use other databases for that. I have not explored it because when it comes to the data, Elastic Search will become expensive. In that case, what I suggest to my clients is to go with PostgreSQL, a vector database, or any other vector database. They are a startup, which is the problem.
We are using streams.
What is most valuable?
My favorite feature is always aggregations and aggregators. You do not have to do multiple queries and it is always optimized for me.
I always got the perfect results because I am using full text search with aliases and keyword search, everything I am performing it. It always performs out of the box.
It is easy because I have been doing it for years. The last version I remember is 3.5 or 3.1 that I used. Since then, I have been following Elastic Search and the changes they do. For configuration, I have never seen any problem.
What needs improvement?
Elastic Search consumes lots of memory. You have to provide the heap size a lot if you want the best out of it. The major problem is when a company wants to use Elastic Search but it is at a startup stage. At a startup stage, there is a lot of funds to consider. However, their use case is that they have to use a pretty significant amount of data. For that, it is very expensive. For example, if you take OLTP-based databases in the current scenario, such as ClickHouse or Iceberg, you can do it on 4GB RAM also. Elastic Search is for analytical records. You have to do the analytics on it. According to me, as far as I have seen, people will start moving from Elastic Search sooner or later. Why? Because it is expensive. Another thing is that there is an open source available for that, such as ClickHouse. Around 2014 and 2012, there was only one competitor at that time, which was Solr. But now, not only is Solr there, but you can take ClickHouse and you have Iceberg also. How are we going to compete with them? There is also a fork of Elastic Search that is OpenSearch. As far as I have seen in lots of articles I am reading, users are using it as the ELK stack for logs and analyzing logs. That is not the exact use case. It can do more than that if used correctly. But as it involves lots of cost, people are shifting from Elastic Search to other sources.
When I am talking about pricing, it is not only the server pricing. It is the amount of memory it is using. The pricing is basically the heap Java, which is taking memory. That is the major problem happening here. If we have to run an MVP, a client comes to me and says, "Anurag, we need to do a proof of concept. Can we do it if I can pay a 4GB or 16GB expense?" How can I suggest to them that a minimum of 16GB is needed for Elastic Search so that your proof of concept will be proved? In that case, what I have to suggest from the beginning is to go with Cassandra or at the initial stage, go with PostgreSQL. The problem is the memory it is taking. That is the only thing.
For how long have I used the solution?
I have been using Elastic Search since around 2012.
What do I think about the stability of the solution?
I have never seen any instabilities, even from the initial state.
What do I think about the scalability of the solution?
I have checked it for a petabyte of records. It is scalable.
How are customer service and support?
One person can do it, but when it comes to DevOps, we need a team always. Only if we have to manage Elastic Search, one person is fine.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
I have used Solr and MongoDB as direct alternatives. According to the situation, it basically happens based on what the client wants. Sometimes they want Cassandra in place of Elastic Search. Our thing is only to suggest them. When it comes to the server costing, they are always asking, "Can we move to another server?" For example, I was working with a lower attorney's application and we implemented Elastic Search. For AWS only, we had to take two instances of 32GB for Elastic Search. After a few months only, the client asked, "Anurag, is it possible if we can go to another source if the latency is reduced or if some concurrency will reduce?" In that case, we had to move to Cassandra. Alternatives, I do use them.
What other advice do I have?
Elastic Search is working fine with streaming. I do not have any problem with that. I do not feel any problem with it because the library works well for the solution I am providing in Go. The libraries are healthy over there and it has worked well. I am satisfied with that. If there are some lags, I manage that. I have not used it. My review rating for Elastic Search is 9.5 out of 10.
Which deployment model are you using for this solution?
On-premises
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)
Disclosure: My company does not have a business relationship with this vendor other than being a customer.