FAQ Elasticsearch

F

what is elasticsearch?

Elasticsearch is a document oriented distributed and scalable search engine that stores entire objects or documents at JSON format. It not only stores them, but also indexes the contents of each document in order to make them searchable. In Elasticsearch, you index, search, sort, and filter documents—​not rows of columnar data. This is a fundamentally different way of thinking about data and is one of the reasons Elasticsearch can perform complex full-text search and analytics operations.

What is elasticsearch used for?

Elasticsearch is mostly used for:
– Full search text for web and desktop applications
– Logging and log analytics
– Business analytics
– Security analytics

At my course “Elasticsearch as you have never known it before” I am also showing that Elasticsearch can be used for building complex GEO filters, aggregations and even for building recommendation systems.

how elasticsearch works?

 If we look rather deep inside we can come to the conclusion that ES – that is a super powered scalable Apache Lucene manager with some additional functions and a super good REST API. Elasticsearch store raw data at JSON documents. The process of storing data is called indexing. Data is parsed, normalized, and enriched before it is indexed in Elasticsearch using tokenizers and analyzers. Such approach allows to run complex queries and aggregations against data quickly and give back answers in milliseconds.

If you are interested at details – how elasticsearch works, how Elasticsearch data are organized, why mapping is so important and what all that mess around tokenizers and analyzers means – then I advice you to visit my course “Elasticsearch as you have never known it before” .

What are the best ELASTICSEARCH practices?

– all starts from data – you need know your data, the same as what operations are you going to perform on it – that will allow you to choose correct datatypes, mapping, document/index structure, analyzers and tokenizers
– preserve general elasticsearch recommendations
– preserve general recommendations for shards/index design – here I can recommend one article from AWS big data blog

what is aws elasticsearch?

AWS ElasticSearch is is a managed service that makes it easy to deploy, operate, and scale ElasticSearch clusters in the AWS Cloud. Currently AWS ElasticSearch is displacing by OpenSearch – ALv2-licensed fork of open source Elasticsearch.

what is elk?

ELK – it is  open-source stack of tools: Elasticsearch, Logstash, Kibana, Beats that is used for parsing, storage, enrichment, analysis and visualization of LOG’s data.

Where to find good elasticsearch tutorial?

If you are looking for complete elasticseach tutorial then you may visit the page “Elasticsearch – how to build search system” where you will also find further links at how to work with elasticsearch using popular programming languages (PHP, Python, Java) and frameworks (Symfony, Flask, Spring Boot).

Is elasticsearch no sql?

Yes, elasticsearch can be considered as NO-SQL database – you can fins it at official nosql-database.org list.

What is elasticsearch explain API and how to use it?

The explain API shows in details how score was calculated for a query at a specific document. Score – that is a relevance number that reflects how good according document matches our search. Explain API give useful feedback whether a document matches or didn’t match a specific query and why it gets such a score value. It is very useful for debugging purposes.

architecture cluster docker elasticsearch flask geo high availability java php programming languages python recommendation systems search systems spring boot symfony