Elastic Search

Elastic Search is a document oriented search engine based on JSON & Apache Lucene (java library). If I have to explain in plain language Elastic Search, I would tell you it’s a search engine, algorithm, technology to search big amounts of data(documents) in a very optimized way. Of course the easiest is to tell you it’s a Solr like technology with a bit more powerful search and aggregation capabilities. It can be invoked from a web application or by a process. You can define search parameters or indexing.

 In Elastic Search you can do structured search (filters), full-text search (query), and analytics (aggregations).  

When using analytics (aggregations) you need to add more complex aggregations, percolators and may be scripts.

It’s schemaless (schemas are created dynamically). You dont need to define in advance the structure of the data you are feeding for indexing.

There are free plugins like Kibana you can use to monitor your Elastic Search servers and performance.


Elastic Search uses log4j for logging application errors and I would like to see that configured to log to a database as well as the local file.

How do we run queries against Elastic Search? There are multiple ways to do that. A favorite option is Postman. https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en or Kibana Sense.

Application Support Elastic Search role skills/knowledge needed:

– Elastic Search DSL (Domain specific language) is the query language in Elastic Search (for debugging)
– Elastic Search understanding
– Kibana understanding, for monitoring/reporting and configuring monitoring/reporting
– Knowledge of the implementation
– AWS/ Apache Lucene Java library/ Linux / JVM
– Knowledge of the server/application setup