I was wondering about whether Elasticsearch is the meant to be used for real time aggregations PER application transaction request? Is this one of use cases?
application transaction request = incoming request from a client for Placing an Order in our system.
Indexing in Elasticsearch is near real time only as it will take a period of time, governed by the refresh interval (default 1 second), before indexed data is available for search and aggregations.
What you stated is true, but lets assume that my application will run aggregations 100% after it got indexed. Will the use case still stands here as a technology ?
You can refresh after every indexing operation and that will guarantee that the data is searchable once the request completes. Be aware that this adds a lot of overhead to each indexing request and often has serious performance implications.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.