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
Apache Lucene is a free and open-source search engine software library, originally written in Java by Doug Cutting. It is supported by the Apache Software Foundation and is released under the Apache Software License. Lucene is widely used as a ...
, a free and open-source search engine. It provides a distributed,
multitenant-capable
full-text search
In Document retrieval, text retrieval, full-text search refers to techniques for searching a single computer-stored document or a collection in a full-text database. Full-text search is distinguished from searches based on metadata or on parts of ...
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
PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
,
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 The DB-Engines Ranking ranks database management systems by popularity, covering over 410 systems. The ranking criteria include number of search engine results when searching for the system names, Google Trends, Stack Overflow discussions, job offer ...
, 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
Elastic NV is a Dutch software company that provides self-managed and software as a service (SaaS) offerings for search, logging, cyber security, observability, analytics, and generative artificial intelligence (AI) use cases. It was founded in 2 ...
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
New Enterprise Associates (NEA) is an American-based venture capital firm. NEA focuses investment stages ranging from seed stage through growth stage across an array of industry sectors. With over $25 billion in committed capital, NEA is one of t ...
(NEA). Additional funders include
Benchmark Capital
Benchmark is a venture capital firm founded in 1995 by Bob Kagle, Bruce Dunlevie, Andy Rachleff, Kevin Harvey, and Val Vaden. The firm is known for its equal partnership structure and focus on early-stage investing, typically leading the firs ...
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
Software as a service (SaaS ) is a cloud computing service model where the provider offers use of application software to a client and manages all needed physical and software resources. SaaS is usually accessed via a web application. Unlike oth ...
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
Swiftype is a search and index company based in San Francisco, California, that provides search software for organizations, websites, and computer programs. Notable customers include AT&T, Dr. Pepper, Hubspot and TechCrunch.
History
Swiftype w ...
. 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
Alibaba Cloud, also known as Aliyun ( zh, p=Ālǐyún, s=阿里云, l=Ali Cloud), is a cloud computing company, a subsidiary of Alibaba Group. Alibaba Cloud provides cloud computing services to online businesses and Alibaba's own e-commerce ecos ...
.
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
The Server Side Public License (SSPL) is a Source-available software, source-available copyleft software license introduced by MongoDB Inc. in 2018.
It includes most of the text and provisions of the GNU Affero General Public License version ...
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
In cutlery or kitchenware, a fork (from 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tines with which one can spear foods either to h ...
the projects and continue development under Apache License 2.0.
Other users of the Elasticsearch ecosystem, including
Logz.io,
CrateDB
CrateDB is a distributed SQL database management system that integrates a fully searchable document-oriented data store. It is open-source, written in Java, based on a shared-nothing architecture, and designed for high scalability. CrateDB inclu ...
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
Software multitenancy is a software architecture in which a single instance of software runs on a server and serves multiple tenants. Systems designed in such manner are "shared" (rather than
"dedicated" or "isolated"). A tenant is a group of us ...
. "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
Apache Lucene is a free and open-source search engine software library, originally written in Java by Doug Cutting. It is supported by the Apache Software Foundation and is released under the Apache Software License. Lucene is widely used as a ...
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
There are two types of Java programming language application programming interfaces (APIs):
* The official core Java API, contained in the Android (Google), SE (OpenJDK and Oracle), MicroEJ. These packages (java.* packages) are the core Java ...
. It supports facetting
Stella octangula as a faceting of the cube
In geometry, faceting (also spelled facetting) is the process of removing parts of a polygon, polyhedron or polytope, without creating any new Vertex (geometry), vertices.
New edges of a faceted po ...
and percolating (a form of prospective search
Prospective search, or persistent search, is a method of searching which determines which of a set of queries matches content in a corpus. Other names include document routing and percolate queries. It is sometimes called reverse search, but that ...
), 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
In cryptography, encryption (more specifically, encoding) is the process of transforming information in a way that, ideally, only authorized parties can decode. This process converts the original representation of the information, known as plain ...
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
Source-available software is software released through a source code distribution model that includes arrangements where the source can be viewed, and in some cases modified, but without necessarily meeting the criteria to be called ''open-source ...
license. In addition, Elasticsearch now offers SIEM Security information and event management (SIEM) is a field within computer security that combines security information management (SIM) and security event management (SEM) to enable real-time analysis of security alerts generated by applications an ...
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)
OpenSearch is a family of software consisting of a search engine (also named OpenSearch), and ''OpenSearch Dashboards'', a data visualization dashboard for that search engine. It is an open-source project developed by the OpenSearch Software Fo ...
- 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