Elasticsearch is the de-facto standard for performant full-text searching, and is often also used for aggregating log data thanks to its powerful aggregation framework. We're using it in many projects since a long time, that's why we suggest to ADOPT it.


  • stores JSON documents
  • search behavior can be completely fine-tuned through custom analyzers
  • supports clustering and high performance
  • supports nested aggregations
  • can be embedded in JVM applications (though not officially supported)


  • importing all relevant data to the search index often ends up with a non-trivial amount of code; especially keeping the index up to date when the upstream changes.


  • We are not using Apache Solr, as in our opinion, Elasticsearch has superseded solr in all regards.
  • For smaller projects, we suggest to look into postgres fulltext indexing, as it is more lightweight