What is Elasticsearch? Advantages and disadvantages of Elasticsearch


When implementing a project or a software that helps users find content, developers will need to pay a lot of attention to search technology. That's because the LIKE statement in SQL will produce not-so-impressive results. Therefore, many technologies to support search were born, including Elasticsearch. So, what is Elasticsearch? What is Elasticsearch used for? Why use Elasticsearch? These questions will be answered by Tino Group in the article.

Learn about Elasticsearch
What is Elasticsearch?
Elasticsearch is a distributed search and analytics engine built on top of Apache Lucene. Since its launch in 2010, Elasticsearch has quickly become an extremely popular and widely used search engine in most jobs related to: Full Text Search - Full Text Search , business security information as well as operational information.

Tino Group will summarize information about Elasticsearch briefly to make it easier for you:

Elasticsearch is a search engine – search engine
Developed and inherited based on Apache Lucene
Elasticsearch is an open source project built in Java language
Elasticsearch does not depend on your client or server building language, but runs on its own server and communicates through RESTful.


The latest information on January 21, 2021, Elastic NV has officially announced that it will no longer release Elasticsearch and Kibana versions under the Apache ALv2 license. This means that Elasticsearch and Kibana will be released as closed source.

If you want to use the latest versions of Elasticsearch and Kibana, you will have to purchase an Elastic or SSPL license. With each different package, you will have different usage rights.

In case you want to continue using Kibana Elasticsearch and free, you can learn about the project OpenSearch of AWS was developed based on the license ALv2.

What is the application of Elasticsearch?
With the advantage of speed and strong scalability, Elasticsearch can support indexing of many different content, used in many cases, for example:

Search in business
Search in the web
Search within the app
Use for logging and log analysis
Use to measure, monitor application performance
Security analysis
Business analysis
Measure infrastructure metrics as well as support container monitoring


What are the benefits of Elasticsearch?
Easy to deploy with fast speed
Elasticsearch provides a simple HTTP and REST API-based interface and uses schema-free JSON. All of this makes it possible to create an application with speed, save time and can be used in many different cases.

Works in real time
Elasticsearch takes just over 1 second to read or write normal data. If you are developing an application, software that works in real time, Elasticsearch will be able to respond in near real time and assist in monitoring for anomalies.

High performance
Elasticsearch is distributed in nature. Therefore, Elasticsearch can process large amounts of workloads and data at the same time, and quickly find results that match your queries.

Lots of tools and plugins add functionality
The duo Elasticsearch and Kibana are integrated together, allowing you to see the most intuitive search reports. Not only that, Elasticsearch can also combine with Beats, Logstash, and help you easily switch input data sources and load them into the cluster.

In addition, you can use a variety of other open-source products and plugins developed specifically for Elasticsearch to diversify functions and help you do your work with a more intuitive and faster interface.

Easy application development
To develop an application for the present time, you will need to know many different programming languages ​​to be able to get the most out of the language, the software and technology you will need. must support those languages. And Elasticsearch supports many popular programming languages: Java, Python, PHP, JavaScript, Node.js, Ruby and many other programming languages.

Advantages and disadvantages of Elasticsearch
Advantages of Elasticsearch
Making a powerful engine based on Apache Lucene that processes data in near-real-time
Not only data search, Elasticsearch also supports data analysis
Very powerful and great scalability
Supports various programming languages ​​for programmers to become more comfortable
Structured Query DSL support to provide specifications for complex queries explicitly and specifically in JSON.
Searchable in different languages.


Disadvantages of Elasticsearch
It's not an all-in-one tool, so Elasticsearch also has some notable downsides. When using, you should pay attention to some points such as:

Elasticsearch is designed with search in mind. Therefore, for other tasks and functions, Elasticsearch will respond less than other specialized software and tools.
For some heavy queries, Elasticsearch's latency will increase a lot of times.
To get the most out of Elasticsearch's functionality, you'll need:
There is a lot of expertise
Proficient in Java programming language
One of the other points worth noting: Elasticsearch has no concept of database transactions. Therefore, data integrity cannot be guaranteed and should not be used in your main database.
If your application or system needs to regularly update data, Elasticsearch will expose the disadvantage of consuming resources for data indexing.
At this point, we have also learned a lot of knowledge about Elasticsearch, the benefits of Elasticsearch, and the application of Elasticsearch; both advantages and disadvantages of Elasticsearch. Tino Group hopes that with this knowledge, you can better understand and apply Elasticsearch to your project. Good luck with your project!

The article has references to content from: Elastic.co, TopDev, VIBOLA and AWS,…

Frequently asked questions about Elasticsearch
Is Elasticsearch free or not?
Yes, you can use Elasticsearch under Elastic's open license or SSPL for the basic functionality they allow. If you want to use more advanced features you will need to pay to use. For example, the function of alerting - warning or machine learning - machine learning .

What is Kibana used for?
Kibana is a visualization and management tool that powers Elasticsearch, providing users with real-time graphs, circles, maps, lines, or graphs.

What languages ​​does Elasticsearch support?
As of now, Elasticsearch supports the following languages ​​and most of them are latin languages: Arabic, Armenian, Basque, Bengali, Brazilian, Bulgarian, Catalan, Cjk, Czech, Danish, Dutch, English English, Estonian, Finnish, French, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish and Thai Lan.

In addition, you can use plugins to add additional languages.

In the future, when Elastic has additional language support, they will announce it here .

Where to learn more about Elasticsearch?
To learn more about Elasticsearch, you should check out more Elasticsearch information at Elastic.co , the Elastic Stack and Product Documentation kit ,

Address: 107 Dong Nai - Vietnam. - Email: services@cmt8.net - Phone: 18001119
Copyright © 2012 - BlogMe. All rights reserved