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 master aliases 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.