Glossary
Every term you will meet reading OpenSearch source, an issue thread, a PR review,
or a log line — defined in one to three lines, with a link to the chapter that
covers it in full. Use this as a fast lookup; follow the link when you need depth.
Terms span three layers: OpenSearch server (org.opensearch.*), Apache Lucene
(org.apache.lucene.*), and the vector / k-NN stack (org.opensearch.knn.*,
faiss, ml-commons).
Note: cluster manager (formerly master) is the current OpenSearch term for the coordinating node role and its settings; the
masteraliases are deprecated but still accepted. The glossary uses the current term.
Jump to: A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W
A
ActionFilter — An interceptor on the transport-action path; a chain of
ActionFilters runs before/after every TransportAction. The security plugin's
SecurityFilter is one. See ../deep-dives/action-framework.md.
ActionListener — The callback interface (onResponse/onFailure) that
carries asynchronous results through the action and transport layers. See
../deep-dives/action-framework.md.
ActionType — A typed handle naming an action (e.g. SearchAction,
IndexAction) that binds a request type to its TransportAction. See
../deep-dives/action-framework.md.
Aggregation — A query-time computation that summarizes matching documents
into buckets and metrics. The tree is AggregatorFactory → Aggregator →
InternalAggregation.reduce. See ../deep-dives/aggregations.md
and the aggregations masterclass.
Aggregator — The per-shard object that collects documents into an aggregation
result; base class AggregatorBase. Implements getLeafCollector and
buildAggregations. See ../masterclass/aggregations/lab-01-trace-an-aggregation.md.
Allocation — The process of deciding which node hosts each shard copy. Driven
by AllocationService + BalancedShardsAllocator, gated by AllocationDeciders.
See ../deep-dives/shard-allocation.md.
AllocationDecider — A pluggable rule that votes YES/NO/THROTTLE on
placing a shard on a node (disk watermark, awareness, same-shard, filter). See
../deep-dives/shard-allocation.md.
Analysis / analyzer — The pipeline (char filters → tokenizer → token filters)
that turns text into indexed terms; _analyze exposes it. See
../deep-dives/mapping-and-analysis.md.
Audit log — The security plugin's record of authn/authz events
(AuditLog). See the security masterclass.
Authentication (authn) — Proving who a request is, via the security
plugin's BackendRegistry authc chain (Basic, JWT, OIDC, SAML, PKI). See
../masterclass/security/lab-01-authn-tls.md.
Authorization (authz) — Deciding what a user may do, via roles + action
groups evaluated by PrivilegesEvaluator. See
../masterclass/security/lab-02-authz-dls-fls.md.
B
BackendRegistry — The security plugin's authenticator chain that establishes
the authenticated user and places it in the ThreadContext. See the
security masterclass.
BigArrays — Core's paged, breaker-accounted large-array allocator; the way
aggregations and many data structures grow without blowing the heap silently.
Every byte is charged to the request circuit breaker. See
../deep-dives/circuit-breakers-memory.md.
BKD tree — Lucene's block k-d tree for numeric, date, IP, and geo points;
files .kdd/.kdi/.kdm. Backs range and geo queries. See
../lucene/points-and-bkd-trees.md.
Block-Max WAND — A scoring optimization that uses per-block max impacts
(ImpactsEnum) to skip non-competitive documents during top-k retrieval; see
also WAND / MaxScore. See ../masterclass/query-engine/lab-02-bm25-and-scoring.md.
BM25 — The default relevance scoring function (BM25Similarity, k1=1.2,
b=0.75): idf · tf·(k1+1) / (tf + k1·(1 − b + b·|d|/avgdl)). See
../masterclass/query-engine/lab-02-bm25-and-scoring.md.
BQ (binary quantization) — 1 bit per dimension (sign / RaBitQ), Hamming
distance, ~32× memory cut, then rescore with full precision. See
../knn/quantization-and-disk-ann.md.
Bucket — An aggregation group of documents (a terms key, a histogram
interval). Bucket aggs nest sub-aggregations. See
../deep-dives/aggregations.md.
Bucket ordinal (owningBucketOrd) — The dense integer ID an aggregator assigns
to each parent bucket; collect(doc, owningBucketOrd) and buildAggregations(long[])
are keyed by it. See ../masterclass/aggregations/lab-01-trace-an-aggregation.md.
BWC (backward compatibility) — The contract that a newer node reads older
wire/disk formats; enforced by Version gating and the qa/ BWC test suite. See
../deep-dives/serialization-bwc.md.
C
Circuit breaker — A memory-accounting guard that rejects an operation before
it OOMs the node; parent + fielddata + request + in-flight, via
HierarchyCircuitBreakerService. See ../deep-dives/circuit-breakers-memory.md.
CHANGELOG — The CHANGELOG.md entry every user-facing PR must add (Added /
Changed / Deprecated / Removed / Fixed / Security). Part of the PR checklist. See
../contributor-mindset/index.md.
Checkpoint — A sequence-number boundary tracked per shard: the local
checkpoint (highest contiguous seqNo on a copy) and the global checkpoint
(highest seqNo safe on all in-sync copies). See
../deep-dives/replication.md.
Cluster manager (formerly master) — The elected node role responsible for
cluster-state changes (create index, allocate shards, apply settings). Settings
use cluster_manager with master deprecated aliases. See
../deep-dives/discovery-coordination.md.
Cluster state — The single immutable, versioned snapshot every node agrees on:
Metadata, RoutingTable, DiscoveryNodes, ClusterBlocks. See
../deep-dives/cluster-state.md.
Codec — Lucene's SPI defining the on-disk format of all segment files; a
bundle of sub-formats (postings, docvalues, points, vectors, …). Default is
LuceneNNNCodec. See ../lucene/segments-and-codecs.md.
Commit — A durable Lucene checkpoint (IndexWriter.commit() writing
segments_N); what survives a crash. In OpenSearch a flush is a commit. See
../deep-dives/refresh-flush-merge.md.
Composite aggregation — The only paginating bucket agg; CompositeAggregator
streams sorted bucket combinations using an after key. See
../masterclass/aggregations/lab-03-composite-pipeline-memory.md.
Concurrent segment search — Searching a shard's segments in parallel across
slices via a CollectorManager, reducing per slice; default-on since 3.0. See
../engineering/concurrent-segment-search.md
and the masterclass.
Coordinator — The class implementing OpenSearch's Zen2 / Raft-like consensus:
elections, terms, voting configuration, two-phase publish. See
../deep-dives/discovery-coordination.md
and the distributed-consensus masterclass.
Coordinating node — Any node receiving a client request; it scatters the
request to data shards and gathers/reduces the results. Every node can coordinate.
See ../deep-dives/search-execution.md.
D
DCO (Developer Certificate of Origin) — The Signed-off-by: line every commit
needs (git commit -s); OpenSearch's contribution gate instead of a CLA. See
../contributor-mindset/index.md.
Decider — See AllocationDecider.
DLS (Document-Level Security) — Per-role document filtering: the security
plugin injects a query so a user only sees matching docs; via DlsFlsValveImpl
and DlsQueryParser. See ../masterclass/security/lab-02-authz-dls-fls.md.
DiscoveryNode — The in-memory descriptor of a node: id, address, roles,
attributes. Members of DiscoveryNodes in the cluster state. See
../deep-dives/cluster-and-node-model.md.
DocValues — Lucene's columnar, per-document on-disk storage (.dvd/.dvm) used
by sorting, aggregations, and scripts — the modern replacement for fielddata. See
../deep-dives/docvalues-fielddata.md
and ../lucene/docvalues-columnar.md.
DocIdSetIterator — Lucene's cursor abstraction over the documents matching a
query (nextDoc/advance); the spine of postings and scorer iteration. See
../lucene/inverted-index-and-postings.md.
E
efConstruction — HNSW build-time beam width: how many candidates the greedy
search keeps while inserting a vector. Higher = better graph, slower build. See
../lucene/hnsw-vector-search.md and
../masterclass/vector-internals/lab-01-hnsw-graph-construction.md.
efSearch — HNSW query-time beam width on layer 0: more candidates = higher
recall, slower search. Tunable per query. See
../knn/algorithms-hnsw-ivf-pq.md.
Embedding — A dense float vector representing text/image meaning, produced by
a model; indexed in a knn_vector field for semantic search. See
../masterclass/vectorization-embeddings/index.md.
Engine — The per-shard wrapper around Lucene's IndexWriter that implements
the write path: InternalEngine, versioning, LiveVersionMap, sequence numbers.
See ../deep-dives/engine-internals.md.
F
faiss — Facebook AI Similarity Search, a C++ ANN library used by the k-NN
faiss engine via JNI; index types IndexFlat, IndexHNSWFlat, IndexIVFFlat,
IndexIVFPQ. See ../knn/engines.md and
../masterclass/vector-internals/lab-02-faiss-index-types-jni.md.
Fielddata — The legacy, heap-resident, uninverted form of a field's terms for
sorting/aggregating on text fields; a classic OOM source, gated by a breaker.
Prefer DocValues. See ../deep-dives/docvalues-fielddata.md.
FieldMapper / MappedFieldType — The mapping classes: FieldMapper indexes a
field, MappedFieldType describes how to query it. See
../deep-dives/mapping-and-analysis.md.
Flush — Persisting in-memory operations to a Lucene commit and trimming the
translog; durability, not visibility. See
../deep-dives/refresh-flush-merge.md.
FLS (Field-Level Security) — Per-role inclusion/exclusion of fields in
results; with field masking that hashes values. Via the security
IndexSearcherWrapper. See ../masterclass/security/lab-02-authz-dls-fls.md.
FST (Finite State Transducer) — The compact in-memory automaton mapping term
prefixes to postings locations; the .tip terms index. Powers fast term lookup.
See ../lucene/inverted-index-and-postings.md
and ../masterclass/lucene-data-structures/lab-01-fst-terms-dict.md.
G
Global checkpoint — The highest sequence number known to be on every in-sync
shard copy; the recovery and replication safety boundary. See
../deep-dives/replication.md.
Global ordinals — A segment-spanning dense numbering of a field's terms that
terms aggregations use for speed (GlobalOrdinalsStringTermsAggregator). See
../deep-dives/aggregations.md.
H
HNSW (Hierarchical Navigable Small World) — The layered proximity-graph ANN
index Lucene and faiss use for vectors; parameters M, efConstruction,
efSearch. Files .vec/.vex/.vem. See
../lucene/hnsw-vector-search.md and
../knn/algorithms-hnsw-ivf-pq.md.
Hot threads — GET /_nodes/hot_threads (HotThreads): samples thread stacks
and ranks by CPU/wait/block; the first tool for "why is the cluster hot/stuck."
See ../masterclass/debugging-profiling/lab-01-hot-threads-profile-api.md.
Hybrid search — Combining BM25 (lexical) and neural (vector) results with a
normalization/combination search pipeline. See
../masterclass/vectorization-embeddings/lab-02-hybrid-search.md.
I
Index — A logical collection of documents split into shards; backed by
IndexService. Distinct from the Lucene index (a shard's segments). See
../deep-dives/index-shard-lifecycle.md.
IndexShard — The per-shard OpenSearch object wrapping the Store, Engine,
and Translog; manages shard state and primary/replica op application. See
../deep-dives/index-shard-lifecycle.md.
IndexWriter — Lucene's single-writer class that buffers documents and flushes
segments; one per shard. See ../lucene/indexwriter-and-merges.md.
InternalAggregation — The serializable per-shard aggregation result that the
coordinator merges via reduce(List, ReduceContext). See
../deep-dives/aggregations.md.
IVF (Inverted File) — An ANN scheme that clusters vectors with a coarse
quantizer (nlist cells) and searches only nprobe nearest cells. faiss
IndexIVFFlat/IndexIVFPQ. See ../knn/algorithms-hnsw-ivf-pq.md.
J
JFR (Java Flight Recorder) — Low-overhead in-JVM profiler/event recorder;
-XX:StartFlightRecording, jcmd <pid> JFR.start/dump. See
../masterclass/debugging-profiling/lab-02-jfr-async-profiler.md.
JNI (Java Native Interface) — The boundary by which the k-NN plugin calls
native C++ libraries (faiss, nmslib); off-heap vector memory lives across it. See
../knn/native-jni-and-memory.md.
jstack / jmap / jcmd — JDK diagnostics: thread dump, heap histogram/dump, and
the multiplexer. First-line "what is the JVM doing" tools. See
../masterclass/debugging-profiling/lab-03-heap-thread-dumps.md.
K
k-NN (k-Nearest Neighbors) — Approximate nearest-neighbor vector search; the
knn plugin, the knn_vector field type, and the knn query. See
../knn/index.md.
knn_vector — The field type that stores dense vectors and builds an ANN index
(HNSW/IVF) under a chosen engine; configured with dimension, method,
space_type. See ../knn/architecture.md.
L
LeaderChecker / FollowersChecker — The liveness probes: followers ping the
elected cluster manager (LeaderChecker); the manager pings followers
(FollowersChecker). Failures trigger re-election or node removal. See
../masterclass/distributed-consensus/lab-02-failure-detection-partitions.md.
LiveVersionMap — The engine's in-memory map of recently-indexed doc ids →
version/seqNo, enabling real-time get and version conflict checks. See
../deep-dives/engine-internals.md.
Local checkpoint — The highest sequence number for which a copy has every
preceding op; advances the global checkpoint when all copies agree. See
../deep-dives/replication.md.
LRUQueryCache — Lucene's cache of filter DocIdSets for frequent, cacheable
query clauses, governed by UsageTrackingQueryCachingPolicy. See
../masterclass/query-engine/lab-03-query-cache-optimization.md.
lucene engine — The k-NN engine that uses Lucene's native KnnVectorsFormat
(no JNI) for HNSW; contrast faiss/nmslib. See
../knn/engines.md.
M
MapperService — The per-index service that holds the mapping and resolves
field names to MappedFieldTypes. See
../deep-dives/mapping-and-analysis.md.
MaxScore — A disjunction optimization (MaxScoreScorer) that partitions
clauses into essential/non-essential by max score to skip docs that cannot reach
top-k. See ../masterclass/query-engine/lab-02-bm25-and-scoring.md.
Merge — Combining smaller segments into larger ones, physically dropping
deleted docs; governed by the merge policy and ConcurrentMergeScheduler. See
../deep-dives/refresh-flush-merge.md
and ../lucene/indexwriter-and-merges.md.
Metadata — The cluster-state component holding index settings, mappings,
templates, and persistent cluster settings (Metadata/IndexMetadata). See
../deep-dives/cluster-state.md.
ml-commons — The OpenSearch ML framework plugin that runs/serves models
(embedding, rerank, LLM) for neural search and the ML APIs. See
../masterclass/vectorization-embeddings/index.md.
M (HNSW) — The maximum number of neighbor links per node per layer in an HNSW
graph; higher = better recall, more memory and slower build. See
../lucene/hnsw-vector-search.md.
N
Neural search — Semantic search where a model encodes the query into a vector
that runs against knn_vector fields, wired via an ingest/search pipeline. See
../masterclass/vectorization-embeddings/lab-01-semantic-search-end-to-end.md.
Neural-sparse search — Learned sparse retrieval: a model expands text into
weighted term tokens, searched with the inverted index — vector-quality recall on
lexical machinery. See ../masterclass/vectorization-embeddings/lab-03-neural-sparse.md.
nmslib — Non-Metric Space Library, the original native HNSW engine for k-NN
(via JNI); largely superseded by faiss/lucene engines. See
../knn/engines.md.
Node roles — The functions a node may serve: cluster_manager (formerly
master), data, ingest, coordinating-only, ml, remote_cluster_client,
search, etc. See ../deep-dives/cluster-and-node-model.md.
number_of_shards / number_of_replicas — The primary-shard count (static) and
replica-copies-per-primary (dynamic) of an index. See the
config reference and
../deep-dives/index-shard-lifecycle.md.
O
Ordinal — A dense integer assigned to a distinct term (segment-local) or a
bucket; see Global ordinals and Bucket ordinal. See
../deep-dives/docvalues-fielddata.md.
P
Peer recovery — Filling a placed-but-empty shard from a peer copy:
RecoverySourceHandler phase 1 (copy segments) + phase 2 (replay translog),
using sequence numbers. See ../deep-dives/recovery.md.
PIT (Point-in-Time) — A lightweight, named, reusable search context pinning a
consistent view across requests; the modern alternative to scroll. See
../deep-dives/search-execution.md.
Pipeline aggregation — An aggregation that runs on the reduce phase over other
aggregations' output (PipelineAggregator), e.g. derivative, cumulative_sum.
See ../masterclass/aggregations/lab-03-composite-pipeline-memory.md.
Postings — The inverted lists per term: doc ids, frequencies, positions,
payloads (.doc/.pos/.pay). The core of full-text search. See
../lucene/inverted-index-and-postings.md.
PQ (Product Quantization) — Split a D-dim vector into m subvectors, k-means
each (k=256 → 1 byte) → m bytes per vector; distances via asymmetric distance
computation. Large compression, approximate. See
../masterclass/vector-internals/lab-03-quantization-math.md.
Primary shard — The authoritative copy of a shard that first applies a write,
then replicates to replicas. See ../deep-dives/replication.md.
PrivilegesEvaluator — The security plugin's per-action authorization decision point: does this user's roles permit this action on these indices? See the security masterclass.
Profile API — GET <index>/_search {"profile": true}: per-shard, per-collector
query and aggregation timing (rewrite/build_scorer/score/next_doc/advance). See
../masterclass/debugging-profiling/lab-01-hot-threads-profile-api.md.
Q
Quantization — Lossy compression of vectors to cut memory: SQ (scalar), PQ
(product), BQ (binary), usually with full-precision rescoring. See
../knn/quantization-and-disk-ann.md.
Query (Lucene) — The immutable description of what to match; compiled into a
Weight then a Scorer. OpenSearch builds it from a QueryBuilder. See
../deep-dives/query-dsl-querybuilders.md.
QueryBuilder — The OpenSearch DSL object parsed from JSON that produces a
Lucene Query via toQuery(QueryShardContext); e.g. BoolQueryBuilder. See
../masterclass/query-engine/lab-01-querybuilder-to-lucene.md.
Quorum — The majority of the voting configuration required to elect a manager
and commit a cluster-state change; prevents split-brain. See
../masterclass/distributed-consensus/lab-01-trace-an-election.md.
R
Rebalancing — Moving shards between nodes to even out load after the cluster
changes; driven by BalancedShardsAllocator within decider limits. See
../deep-dives/shard-allocation.md.
Recovery — Bringing a shard to a started, in-sync state — from a peer, from
the local translog, or from a snapshot/remote store. See
../deep-dives/recovery.md.
Refresh — Reopening a shard's searcher so newly indexed docs become visible
(near-real-time); not durability. Controlled by index.refresh_interval. See
../deep-dives/refresh-flush-merge.md.
Remote store (remote-backed storage) — An OpenSearch feature that persists
segments and translog to remote object storage for durability and faster recovery,
enabling reader/writer separation. See
../engineering/remote-store-and-durability.md.
Replica shard — A copy of a primary that serves reads and provides
redundancy; kept in sync by document or segment replication. See
../deep-dives/replication.md.
RestHandler / BaseRestHandler — The classes that register a REST route and
turn an HTTP request into a NodeClient action call (prepareRequest). See
../deep-dives/rest-layer.md.
Rewrite — The query optimization pass (Query.rewrite /
rewrite(QueryRewriteContext)) that simplifies/specializes a query before
execution. See ../deep-dives/query-dsl-querybuilders.md.
RoutingTable — The cluster-state component mapping each shard to its assigned
nodes and states (RoutingTable/IndexRoutingTable/ShardRouting). See
../deep-dives/cluster-state.md.
S
Scorer — Lucene's per-segment iterator that both matches and scores
documents; produced by a Weight. May use a TwoPhaseIterator. See
../masterclass/query-engine/lab-02-bm25-and-scoring.md.
Segment — An immutable, self-contained mini-index (a set of _N.* files); a
shard is a pile of segments plus a segments_N commit. See
../lucene/segments-and-codecs.md.
Segment replication — Replicating files (copying merged segments) from
primary to replica instead of replaying each document; an OpenSearch addition. See
../deep-dives/replication.md.
seqNo (sequence number) — The per-operation, per-shard monotonic id assigned
on the primary; the basis for checkpoints, recovery, and replication. See
../deep-dives/engine-internals.md.
Shard — The unit of horizontal scale and a single Lucene index; a primary
applies writes first, replicas copy it. See
../deep-dives/index-shard-lifecycle.md
and the sharding masterclass.
Similarity — Lucene's scoring strategy interface; default BM25Similarity.
Set per field via the mapping. See
../masterclass/query-engine/lab-02-bm25-and-scoring.md.
Slow log — Per-shard logging of queries/fetches/indexing exceeding a
threshold (index.search.slowlog.*, index.indexing.slowlog.*). See the
config reference.
SQ (Scalar Quantization) — Per-dimension (or global) min/max mapping float →
int8/int4; 4×/2× memory cut, full-precision rescore. See
../knn/quantization-and-disk-ann.md.
Star-tree — A precomputed, multi-field aggregation index that answers
eligible aggregations without scanning docs. See
../engineering/star-tree-aggregations.md.
T
Term (consensus) — A monotonically increasing election epoch; a manager is
elected for a term, and (term, version) linearizes cluster-state changes. See
../deep-dives/discovery-coordination.md.
ThreadPool — Core's named, bounded executor registry (search, write,
get, management, …); rejections happen when a pool's queue fills. See
../deep-dives/threadpools-concurrency.md.
ThreadContext — The per-thread header/transient store that carries request
context (incl. the authenticated user) across the transport. See
../deep-dives/threadpools-concurrency.md.
Tiered caching — A multi-level (heap + disk via ehcache) request cache that
spills entries to disk to serve more from cache; an OpenSearch addition. See
../engineering/tiered-caching.md.
TransportAction — The server-side handler executing an ActionType; base
classes like HandledTransportAction, TransportReplicationAction. See
../deep-dives/action-framework.md.
Transport layer — The internal node-to-node RPC fabric (TransportService,
Netty4Transport, Writeable, port 9300). See
../deep-dives/transport-layer.md.
Translog — The per-shard write-ahead log that makes operations durable between
Lucene commits and replays them after a crash. See
../deep-dives/translog.md.
TwoPhaseIterator — A Lucene optimization splitting matching into a cheap
approximation plus an expensive confirmation, so costly checks run only on
candidates. See ../lucene/inverted-index-and-postings.md.
U
Uninverting — Building an in-heap column from the inverted index at query time
(fielddata) when no DocValues exist; expensive and breaker-gated. See
../deep-dives/docvalues-fielddata.md.
V
Version (BWC) — The Version constant gating wire and XContent format choices
so mixed-version clusters interoperate. See
../deep-dives/serialization-bwc.md.
Voting configuration — The set of cluster-manager-eligible nodes whose votes
count for quorum; maintained by Reconfigurator. See
../masterclass/distributed-consensus/lab-01-trace-an-election.md.
W
WAND (Weak AND) — A top-k disjunction optimization (WANDScorer) that skips
documents whose max possible score cannot enter the top-k; see also Block-Max
WAND. See ../masterclass/query-engine/lab-02-bm25-and-scoring.md.
Weight — Lucene's per-query, per-searcher factory that produces Scorers and
holds statistics (idf, norms); the bridge from Query to execution. See
../deep-dives/query-dsl-querybuilders.md.
Writeable — The core serialization interface (writeTo/read-from-StreamInput)
that lets any object cross the transport; version-gated for BWC. See
../deep-dives/transport-layer.md.
Note: A term missing here is usually a sign the codebase renamed it — grep the server / k-NN / security checkout to find the current name, then send a PR adding the row. The glossary is only as current as your last
grep.