ElastciSearch
Elastic Search is a tool that is also used in the background of FESS, which I mentioned in the previous section. It is a full-text search engine developed by Elasticsearch under the open-core business model. As shown in the figure below, the basic functions such as full-text search and clustering (ultra high-speed distributed processing search based on Apache Lucene) are open source programs under the Apache license.
Elasticsearch, the search module, is an open source program under the Apache license built in Java. It is possible to build a system by connecting a group of core products called Elastic Stack, such as Kibana, a data visualization tool, and beats, a lightweight data shipper, with a JSON-based Restful communication module, and it is possible to perform not only search, but also collection, analysis, and visualization.
In this blog, I will discuss the following items.
- Search tool FESS OSS search tool that can be up and running in 5 minutes
- Elastic Search Overview (this article)
- Search tool Elastic Search(1) Overview and reference books
- Search tool Elastic Search(2) Setting up ElasticSearch
- Search tool Elastic Search(3) UI (linkage with reactivesearch: basic)
- Search tool Elastic Search(4) UI (collaboration with reactivesearch: application)
The following is an overview of Elastic Search based on “Elastic Search in Action”.
Elastic search is a backend system, which exchanges data via a web api as follows
The internal data is represented in Json as follows
Searching for data with a query in json form as follows
The internal data processing mechanism is that the input data is analyzed and indexed by the analyzer, and the query is analyzed and matched by the analyzer as well. The difference between the query and the general database is that the data is indexed, which allows for fast searches.
The actual usage is to create an index application using machine learning and other processes, and then insert an arbitrary index to search.
A variety of search solutions can be realized by combining complex indexes as shown below.
Elastic Stash is also widely used as a log collection PF. The details are described in detail in “Using ElasticStash for Monitoring System Operation, Including Microservices”. Using ElasticStash for monitoring system operations, including microservices”.
コメント