Elasticsearch is a
search engine
A search engine is a software system that provides hyperlinks to web pages, and other relevant information on World Wide Web, the Web in response to a user's web query, query. The user enters a query in a web browser or a mobile app, and the sea ...
based on
Apache Lucene, a free and open-source search engine. It provides a distributed,
multitenant-capable
full-text search engine with an
HTTP
HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
web interface and schema-free
JSON
JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
documents. Official clients are available in
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
,
.NET
The .NET platform (pronounced as "''dot net"'') is a free and open-source, managed code, managed computer software framework for Microsoft Windows, Windows, Linux, and macOS operating systems. The project is mainly developed by Microsoft emplo ...
(
C#),
PHP,
Python,
Ruby
Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
and many other languages.
According to the
DB-Engines ranking, Elasticsearch is the most popular enterprise search engine.
History
Shay Banon created the precursor to Elasticsearch, called Compass, in 2004.
[
] While thinking about the third version of Compass he realized that it would be necessary to rewrite big parts of Compass to "create a scalable search solution".
So he created "a solution built from the ground up to be distributed" and used a common interface,
JSON
JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
over
HTTP
HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
, suitable for programming languages other than Java as well.
Shay Banon released the first version of Elasticsearch in February 2010.
Elastic NV was founded in 2012 to provide commercial services and products around Elasticsearch and related software. In June 2014, the company announced raising $70 million in a Series C funding round, just 18 months after forming the company. The round was led by
New Enterprise Associates (NEA). Additional funders include
Benchmark Capital and
Index Ventures
Index Ventures is a European venture capital firm with headquarters in both San Francisco and London. It invests primarily in tech companies.
History
Index Ventures has its origins in a Switzerland, Swiss bond (finance), bond-trading firm cal ...
. This round brought total funding to $104M.
In March 2015, the company ''Elasticsearch'' changed its name to ''Elastic''.
In June 2018, Elastic filed for an
initial public offering
An initial public offering (IPO) or stock launch is a public offering in which shares of a company are sold to institutional investors and usually also to retail (individual) investors. An IPO is typically underwritten by one or more investm ...
with an estimated valuation of between 1.5 and 3 billion dollars. On 5 October 2018, Elastic was listed on the
New York Stock Exchange
The New York Stock Exchange (NYSE, nicknamed "The Big Board") is an American stock exchange in the Financial District, Manhattan, Financial District of Lower Manhattan in New York City. It is the List of stock exchanges, largest stock excha ...
.
Developed from the Found acquisition by Elastic in 2015, Elastic Cloud is a family of Elasticsearch-powered
SaaS offerings which include the Elasticsearch Service, as well as Elastic App Search Service, and Elastic Site Search Service which were developed from Elastic's acquisition of
Swiftype. In late 2017, Elastic formed partnerships with
Google
Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
to offer Elastic Cloud in
Google Cloud Platform (GCP), and
Alibaba to offer Elasticsearch and
Kibana in
Alibaba Cloud.
Elasticsearch Service users can create secure deployments with partners, Google Cloud Platform (GCP) and Alibaba Cloud.
Licensing changes
In January 2021, Elastic announced that starting with version 7.11, they would be relicensing their Apache 2.0 licensed code in Elasticsearch and
Kibana to be dual licensed under
Server Side Public License and the Elastic License, neither of which is recognized as an
open-source license
Open-source licenses are software licenses that allow content to be used, modified, and shared. They facilitate free and open-source software (FOSS) development. Intellectual property (IP) laws restrict the modification and sharing of creative ...
.
Elastic blamed
Amazon Web Services
Amazon Web Services, Inc. (AWS) is a subsidiary of Amazon.com, Amazon that provides Software as a service, on-demand cloud computing computing platform, platforms and Application programming interface, APIs to individuals, companies, and gover ...
(AWS) for this change, objecting to AWS offering Elasticsearch and Kibana
as a service directly to consumers and claiming that AWS was not appropriately collaborating with Elastic.
Critics of the re-licensing decision predicted that it would harm Elastic's ecosystem and noted that Elastic had previously promised to "never....change the license of the Apache 2.0 code of Elasticsearch, Kibana, Beats, and Logstash". Amazon responded with plans to
fork the projects and continue development under Apache License 2.0.
Other users of the Elasticsearch ecosystem, including
Logz.io,
CrateDB and
Aiven, also committed to the need for a fork, leading to a discussion of how to coordinate the open source efforts. Due to potential trademark issues with using the name "Elasticsearch", AWS rebranded their fork as
OpenSearch in April 2021.
[TheRegister (12 Sep 2021) Amazon Elasticsearch Service is so flexible it wants to be called by a new name]
/ref>
In August 2024 the GNU Affero General Public License
The GNU Affero General Public License (GNU AGPL) is a free, copyleft license published by the Free Software Foundation in November 2007, and based on the GNU GPL version 3 and the ''Affero General Public License'' (non-GNU).
It is intended fo ...
was added to ElasticSearch version 8.16.0 as an option, making Elasticsearch free and open-source again.
Features
Elasticsearch can be used to search any kind of document. It provides scalable search, has near real-time search, and supports multitenancy. "Elasticsearch is distributed, which means that indices can be divided into shards and each shard can have zero or more replicas. Each node hosts one or more shards and acts as a coordinator to delegate operations to the correct shard(s). Rebalancing and routing
Routing is the process of selecting a path for traffic in a Network theory, network or between or across multiple networks. Broadly, routing is performed in many types of networks, including circuit-switched networks, such as the public switched ...
are done automatically". Related data is often stored in the same index, which consists of one or more primary shards, and zero or more replica shards. Once an index has been created, the number of primary shards cannot be changed.
Elasticsearch is developed alongside the data collection
Data collection or data gathering is the process of gathering and measuring information on targeted variables in an established system, which then enables one to answer relevant questions and evaluate outcomes. Data collection is a research com ...
and log-parsing engine Logstash, the analytics and visualization platform Kibana, and the collection of lightweight data shippers called Beats. The four products are designed for use as an integrated solution, referred to as the "Elastic Stack". (Formerly the "ELK stack", short for "Elasticsearch, Logstash, Kibana".)
Elasticsearch uses Lucene and tries to make all its features available through the JSON
JSON (JavaScript Object Notation, pronounced or ) is an open standard file format and electronic data interchange, data interchange format that uses Human-readable medium and data, human-readable text to store and transmit data objects consi ...
and Java API
. It supports facetting and percolating (a form of prospective search), which can be useful for notifying if new documents match for registered queries. Another feature, "gateway", handles the long-term persistence of the index; for example, an index can be recovered from the gateway in the event
''The Event'' (stylized as THE EVƎNT) is an American television series containing elements of science fiction, Action fiction, action/adventure and political allegory. It was created by Nick Wauters and aired on NBC from September 20, 2010, to ...
of a server crash. Elasticsearch supports real-time GET requests, which makes it suitable as a NoSQL
NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
datastore, but it lacks distributed transactions.
On 20 May 2019, Elastic made the core security features of the Elastic Stack available free of charge, including TLS for encrypted communications, file and native realm for creating and managing users, and role-based access control for controlling user access to cluster API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
s and indexes. The corresponding source code is available under the “Elastic License”, a source-available license. In addition, Elasticsearch now offers SIEM and Machine Learning
Machine learning (ML) is a field of study in artificial intelligence concerned with the development and study of Computational statistics, statistical algorithms that can learn from data and generalise to unseen data, and thus perform Task ( ...
as part of its offered services.
See also
* Information extraction
* List of information retrieval libraries
* OpenSearch (software) - an open source fork of Elasticsearch
References
External links
*
{{Authority control
2018 initial public offerings
Companies listed on the New York Stock Exchange
Database-related software for Linux
Internet search engines
Search engine software
Software using the Server Side Public License