Elasticsearch Lucene

By Opster Team

Updated: Mar 21, 2023

| 1 min read

Overview

Lucene or Apache Lucene is an open-source Java library used as a search engine. Elasticsearch is built on top of Lucene. 

Elasticsearch converts Lucene into a distributed system/search engine for scaling horizontally. Elasticsearch also provides other features like thread-pool, queues, node/cluster monitoring API, data monitoring API, Cluster management, etc. In short, Elasticsearch extends Lucene and provides additional features beyond it.

Elasticsearch hosts data on data nodes. Each data node hosts one or more indices, and each index is divided into shards with each shard holding part of the index’s data. Each shard created in Elasticsearch is a separate Lucene instance or process.

Notes and good things to know

  • When an index is created in Elasticsearch, it is divided into one or more primary shards for scaling the data and splitting it into multiple nodes/instances.

  • As each shard is a separate instance of Lucene, creating too many shards will consume unnecessary resources and damage performance.
  • It takes proper planning to decide the number of primary shards for your index, taking into account the index size, max growth, and the number of data nodes.

  • Previous versions of Elasticsearch defaulted to creating five shards per index. Starting with 7.0.0, the default is now one shard per index.

Related log errors to this ES concept


Cannot start plugin due to incorrect Lucene version plugin node
E getMessage
Function score query returned an invalid score finalScore for doc
Missing value for field field
No segments file found in directory files