We have just started to use Elasticsearch at my work - and in at least two applications and possibly three in the future. We are going to host the cluster (or clusters) our selves, and a question which has then arisen is whether we should let several applications share the same cluster and create each their index within it or each application has their own cluster. The operation team would prefer one cluster to monitor, but as a developer I feel sceptical about it - as different applications would have different needs that would be difficult to combine.
Would any one like to share their thoughts or experiences on this matter?
To me it would depend on how different the requirements are. Using different indexes is of course a common approach.
For example you can look at how Elastic has choosen to handle this for Kibana. Settings in Kibana is stored in a different index with custom template. Other applications such as Timelion and the to be Graph app is probably storing settings in a similar way.
By using the same cluster (for production), you'll be able to query, aggregate and "share" information between your 3 applications if necessary. That's much more difficult to handle between clusters.
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.