Introduction
A database can find exact matches — but type "runing shoes" into a store search and you expect results for "running shoes" anyway, ranked by relevance, with filters and facets. That is search, not lookup, and it needs a different engine. Elasticsearch, released in 2010 and built on Apache Lucene, is the most widely used search and analytics engine: it indexes JSON documents, answers full-text queries in milliseconds, and powers site search, log analysis, and observability at companies of every size.
Inverted indexes, documents, and relevance
Elasticsearch's model differs from a database in three ways:
- Documents — data lives as JSON documents in indexes (like tables, but schemaless-friendly): a product, a log line, an article.
- Inverted indexes — for each term, Elasticsearch stores which documents contain it, so finding "shoes" is a lookup, not a scan of every row. Analysis (lowercasing, stemming, tokenising) happens at index time, which is why "running" matches "run".
- Relevance scoring — results rank by how well they match (term frequency, rarity, field boosts), not just whether they match, and queries combine full-text search with filters, aggregations (counts by category, price ranges), and sorting.
A search request shows the shape — a JSON query describing what to find and how to rank it:
{
"query": {
"match": {
"title": "running shoes"
}
}
}
That query returns matching products ranked by relevance, in milliseconds, even across millions of documents — and the same engine aggregates logs for dashboards in tools like Kibana.
The honest trade
Elasticsearch's trade is operational weight and eventual consistency: clusters need sizing, sharding, and care (the same lesson as Kafka, batch 25), and it is not a primary database — it is a search index fed from one, so data can lag briefly. For small sites, a database's built-in full-text search or a hosted service often suffices. The rule of thumb: Elasticsearch when search quality, scale, or log analytics matter; a database when exact lookups are all you need.
Takeaway
Elasticsearch is search that understands your data: JSON documents, inverted indexes for instant term lookup, and relevance-ranked results with aggregations. It trades database simplicity for search power — and when users expect search to just work, that power is the product.
Originally published at https://practicaldevblog.blogspot.com/2026/10/elasticsearch-explained-search-that.html
Top comments (0)