September 3, 2020
We build our search products on Elasticsearch because it’s the world’s leading open source search and analytics solution. Elasticsearch is built on the Apache Lucene library, a product of the Apache Software Foundation, a nonprofit, decentralized, open source community of developers.
Unlike Google and other popular search engines designed for consumer use, the Elasticsearch engine is used by businesses that require enterprise search.
Leading tech companies, including Uber, Slack, Shopify and Robinhood use Elasticsearch. Internally, businesses use it for quick and seamless access to data and log analytics across an entire database. Externally, businesses use Elasticsearch to provide customers near-instant results for their queries.
Elasticsearch offers a number of advantages to these businesses. But before we discuss those, it helps to understand how the Elasticsearch engine works.
When you use a conventional SQL or relational database, which stores information in columns and rows that are “related” to each other, complex queries of large amounts of information can take a long time. Those delays can cost you customers and reduce productivity.
Elasticsearch is a distributed, document-oriented search engine, which means it’s great at quickly searching large volumes of structured, semi-structured, and unstructured data as well as geo data. NoSQL databases like Elasticsearch scale easily, enabling them to use additional nodes as the database becomes more robust. (More about that later.)
An introduction to this powerful, popular search engine.
Who Needs Elasticsearch?
How Does Elasticsearch Work?
Elasticsearch is the heart of the ELK Stack, which includes Elasticsearch, Logstash, Kibana and Beats.
What Are The Advantages of Elasticsearch?
Elasticsearch offers speed, relevance and scalability and resiliency. Let’s take a closer look at each of these.
Elasticsearch collects data from web apps, log analytics and system metrics before indexing it so the data can be retrieved with a search query. All search engines index data, but Elasticsearch’s scalability allows it to scale more data, faster. To appreciate how, you have to understand a bit more about indices.
An index is a collection of data that has a similar structure. Elasticsearch stores these data as JSON documents and each of those JSON documents contains a key and a value. Elasticsearch uses an inverted index to search the documents. The keys and values are what make the inverted index work.
In other words, an inverted index maps each unique “word” to the list of documents containing that word, which makes it possible for Elasticsearch to look for, find and retrieve documents with the given keywords very quickly.
To understand how this makes Elasticsearch faster, think about how much faster you can find a specific word in a printed book using the index at the back of the book rather than scanning each individual page for that word.
Kibana is a data visualization dashboard for Elasticsearch.
Elasticsearch is a trademark of Elasticsearch B.V., registered in the U.S. and in other countries.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS, and the yellow elephant logo are trademarks of the Apache Software Foundation in the United States and/or other countries.