liveBook · Manning

Elasticsearch

As explained in Elasticsearch in Action, Second Edition

Elasticsearch is a distributed search and analytics engine for indexing, querying, and analyzing structured and unstructured data.

Elasticsearch is a distributed search and analytics engine built on Apache Lucene. It indexes structured and unstructured data, then serves near-real-time searches and analytical requests through RESTful HTTP APIs that exchange JSON. It is designed for large data volumes, availability, and scale. section 1.0 section 1.7

Use it when people need to find relevant content rather than only exact stored values: an application can search customers, orders, invoices, emails, or site content; an organization can also search data gathered from many services. Full-text queries rank documents by relevance, while exact terms, dates, and numeric or date ranges are also supported. section 1.2.1 section 1.4.3 section 1.4

Online bookstore search

Start by loading bookstore documents into Elasticsearch. Once data is indexed, send searches and aggregations through Kibana Dev Tools or another REST client. Kibana submits the request to Elasticsearch and displays the JSON response, including whether a document was created and metadata such as its index, ID, and version. section 2.1 section 2.0 section 2.1.3

Elasticsearch combines search with analysis and operational workloads:

  • Search structured, semi-structured, and unstructured content together in an index; full-text search can return related terms and rank the most relevant documents first. section 1.2.1
  • Analyze collected data with aggregations, statistical calculations, and buckets such as histograms; Kibana can turn results into dashboards and visualizations. section 1.4
  • Support search, observability, and security work, including application monitoring, log analysis, alerts, and threat detection. section 1.4.1 section 1.5

Elasticsearch is not a relational database. It does not provide transactions, foreign keys, referential integrity, or complex joins, and eventual consistency makes it a poor fit for workloads needing immediate consistency. Evaluate requirements before adopting it; relationship-heavy data, high-write indexing, large binary objects, and complex OLAP or geospatial analysis may call for specialized alternatives. Production clusters also require configuration tuning, memory management, failure handling, and scaling as data grows. section 1.4.4 section 1.4.5 section 1.2.2

Figure 1.3 The Elastic Stack: Beats, Logstash, Elasticsearch, and Kibana

View how Beats and Logstash bring data toward Elasticsearch, while Kibana provides the visual interface for working with that data. section 1.4.2

How Elasticsearch in Action, Second Edition covers it

How deep it goes
Introduces engine architecture, search modes, analytics, use cases, limits, and a first indexing request; defers request constituents to later treatment.
Examples
Uses an online bookstore and Kibana Dev Tools to index a document, inspect its JSON response, then search and aggregate loaded business data.
What it assumes
Teaches the workflow from a running Elasticsearch and Kibana environment, assuming only a basic sample data model.
What you can do after
Apply it via Kibana or REST clients to index documents, run searches, and perform aggregations on prepared data.
How it connects
Connects Apache Lucene, full-text search, relevance scoring, Kibana, Beats, Logstash, aggregations, observability, and security.

Also explained in

Compare how 5 books explain Elasticsearch →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Elasticsearch in Action, Second Edition. The section links point to the parts of the book it draws on.