0
0
Elasticsearchquery~5 mins

Inverted index data structure in Elasticsearch

Choose your learning style9 modes available
Introduction

An inverted index helps find words quickly in many documents. It works like a book's index, showing where each word appears.

You want to search text fast in many documents.
You need to find all documents containing a specific word.
You want to build a search engine for articles or books.
You want to support quick autocomplete or suggestions.
You want to analyze text data to find common words.
Syntax
Elasticsearch
An inverted index is automatically created by Elasticsearch when you add text data.

It stores:
- Each word (term) as a key.
- A list of documents where the word appears.

You do not write code to create it directly; Elasticsearch builds it behind the scenes.
Elasticsearch creates and updates the inverted index automatically when you add or change documents.
The inverted index allows very fast full-text search queries.
Examples
This adds a document to the 'library' index. Elasticsearch updates the inverted index with words like 'Elasticsearch', 'powerful', 'search', and 'engine'.
Elasticsearch
PUT /library/_doc/1
{
  "title": "Learn Elasticsearch",
  "content": "Elasticsearch is a powerful search engine"
}
This searches for documents containing the word 'search'. Elasticsearch uses the inverted index to find matching documents quickly.
Elasticsearch
GET /library/_search
{
  "query": {
    "match": {
      "content": "search"
    }
  }
}
Sample Program

This example adds two documents to the 'books' index. Then it searches for documents with the word 'inverted' in the description. Elasticsearch uses the inverted index to find document 2 quickly.

Elasticsearch
PUT /books/_doc/1
{
  "title": "Database Basics",
  "description": "Learn about databases and indexing"
}

PUT /books/_doc/2
{
  "title": "Search Engines",
  "description": "How search engines use inverted indexes"
}

GET /books/_search
{
  "query": {
    "match": {
      "description": "inverted"
    }
  }
}
OutputSuccess
Important Notes

The inverted index stores words, not whole sentences.

It helps find documents fast but uses extra space to store the index.

Elasticsearch manages the index automatically; you just add and search documents.

Summary

An inverted index maps words to documents where they appear.

It is created automatically by Elasticsearch for fast text search.

You use it when you want to search text quickly in many documents.