Elasticsearch is such a widely useful technology that it's worth looking at in a little detail. It's a Java application, but running in Docker, you can treat it as a black box and manage it in the same way as all other Docker workloads—you don't need to install Java or configure the JDK. Elasticsearch exposes a REST API for writing, reading, and searching data, and there are client wrappers for the API available in all major languages.
Data in Elasticsearch is stored as JSON documents, and every document can be fully indexed so that you can search for any value in any field. It's a clustered technology that can run across many nodes for scale and resilience. In Docker, you can run each node in a separate ...