Glossary
Bucket
Section titled “Bucket”The remote S3-compatible object storage container where authoritative index data and deployment state are stored in object mode. See Architecture and Storage layout.
Candidate
Section titled “Candidate”A node started with the indexer property enabled (EXOFIND_INDEXER_ENABLED=true)
that competes to write indexes. Candidate nodes divide indexes among themselves
through the leadership table. See
Separating search and indexing nodes.
An entry in the leadership table that assigns write responsibility for an index to a specific holder node with an expiration timestamp. A candidate node must periodically renew its claims before their lease expires. See Synchronization.
Commit
Section titled “Commit”An action that flushes Lucene changes and writes pending documents and definition updates to storage as a manifest push. See Admin API and What a write guarantees.
Definition
Section titled “Definition”The schema configuration of an index or generation specifying its fields, data types, field usages, analyzers, and ranking rules. See Field types.
Definition version
Section titled “Definition version”An identifier for an index definition returned in the version field and the
ETag header. It is passed in If-Match headers on PUT requests to prevent
overwriting concurrent updates. See Admin API.
Deployment
Section titled “Deployment”The nodes that share one bucket and prefix in object mode, or the single node that owns a directory in local mode. Keys and the registry belong to the deployment. See Architecture.
A writer session identifier claimed by an indexer before uploading files. Epoch
scoping ensures that files are uploaded under e<epoch>/ so concurrent writer
sessions never write to the same storage keys. Files the engine rewrites in
place also carry their checksum in the key, so two pushes of one session never
write to the same key either. See
Synchronization.
A field usage that enables value count aggregations or range buckets over matching search results. See Field types.
Freshness token
Section titled “Freshness token”An opaque string that identifies a state of an index: the generation the index answers from, a commit sequence of that generation, and a version of the search settings. Write and read responses return a token, and a read request can supply it to ensure that a node answers from that state or a later one. See Search API.
Generation
Section titled “Generation”A complete physical version of an index containing its own Lucene files,
manifest, definition, and documents, formatted as index@generation. An index
holds one or more generations, with one designated as live. See
Generations.
An element of an API key combining a set of permissions or a role with a set of index patterns. Grants are evaluated as a union to authorize API requests. See Authentication.
A version a writer reports in the registry after a push or a settings change so other nodes learn a generation or its settings moved sooner. A hint is advisory, and a node still verifies its copies against the manifests on an interval. See Synchronization.
A named collection of searchable documents structured as a name with one or more generations beneath it. The bare index name routes queries to the current live generation. See Generations.
Index pattern
Section titled “Index pattern”An exact index name or a prefix ending with * specified in an API key grant.
Patterns restrict which indexes a grant permits an API key to access. See
Authentication.
Indexer
Section titled “Indexer”A candidate node holding an active claim to write to an index. An indexer runs an active Lucene writer and serves write requests for that index. See Separating search and indexing nodes.
In authentication, an API credential consisting of grants and an optional expiration that authorizes API requests. In storage, an object path in the bucket. In object fields, a child field property marking the unique identifier of an object value in an array. See Authentication and Field types.
Leadership table
Section titled “Leadership table”A shared storage object (indexer-leadership.ef.bin) that tracks node
liveness, candidate nodes, and active index writer claims. See
Synchronization.
Live generation
Section titled “Live generation”The designated generation of an index that currently serves search queries and receives writes addressed to the bare index name. See Generations.
Local copy
Section titled “Local copy”The cached Lucene directory, manifest, and definition files stored on a node’s
local disk under indexes/<index>@<generation>/. See
Architecture and
Storage layout.
Local mode
Section titled “Local mode”A single-node storage configuration (EXOFIND_STORAGE_MODE=local) where all
index data, registries, keys, and settings reside on the local disk without an
object storage bucket. See Architecture.
Manifest
Section titled “Manifest”The storage object (manifest.ef.bin) that lists the Lucene files of an index
generation along with their sizes, checksums, keys, version number, and writer
epoch. See Synchronization and
Storage layout.
An individual running Exofind instance that serves search requests locally and can optionally act as an indexer candidate. Nodes coordinate entirely through shared storage. See Architecture.
Object mode
Section titled “Object mode”The storage configuration (EXOFIND_STORAGE_MODE=object) where authoritative
index data, registries, keys, and leadership state reside in an S3-compatible
bucket, and nodes use local disks as ephemeral caches. See
Architecture.
Permission
Section titled “Permission”An immutable capability assigned to API keys inside grants that authorizes a
specific operation, such as search, documents.write, or registry.repair.
See Authentication.
Prefix
Section titled “Prefix”In storage, the path hierarchy under which an index, generation, or deployment
objects are organized. In index patterns, a name prefix ending with * matching
multiple indexes. See Authentication and
Storage layout.
Primary key
Section titled “Primary key”A unique document identifier field marked with primaryKey: true. Documents
with matching primary keys overwrite existing documents, and change tracking
during reindexing records changes by primary key. See
Field types.
Promotion
Section titled “Promotion”The action of switching an index to serve queries from a specified generation using a conditional write to the index registry. See Generations.
An operation where a node downloads new or updated index files and manifests from object storage to its local disk. See Architecture.
An operation where a writer node uploads new index files to storage, conditionally updates the remote manifest, and deletes the obsolete objects that an earlier manifest stopped naming more than a grace period ago. See Synchronization.
Ranking signal
Section titled “Ranking signal”A query-time multiplier that adjusts a relevance score by a value the document
already holds, such as a sales count or a publication date. It reads a field
with sort enabled, converts the value to a number between 0 and 1 through a
shape, and multiplies the score by 1 + weight * shape. A ranking signal is a
ranking rule and a signal field is a storage mode, and neither one requires the
other. See Relevance.
Refresh interval
Section titled “Refresh interval”The configured interval at which nodes re-read shared storage objects to discover changes to indexes or search settings. See Synchronization.
Registry
Section titled “Registry”A single storage object (registry/indexes.ef.bin or registry.ef.bin) that
records which indexes exist, which generations each index contains, which
generation is live, and version hints. See
Generations.
Reindex job
Section titled “Reindex job”A background task running on the index writer node that populates a new generation by copying documents from an existing generation and replaying logged changes. See Admin API.
Removal mark
Section titled “Removal mark”A storage object (removed.ef.bin) written under an index or generation prefix
upon deletion, staging the prefix for removal by a background sweep after a
grace period. See Generations and
Storage layout.
Rescoring
Section titled “Rescoring”A second scoring pass that reorders the best results of the first pass inside a window. It changes neither which documents matched nor the facet counts and totals, which the first pass decides. See Relevance.
Root key
Section titled “Root key”A per-node credential configured through EXOFIND_AUTH_ROOT_KEY with full
administrative permissions. It is never stored in key storage and cannot be
listed or revoked through the API. See Authentication.
The evaluation boundary of a permission, which is either index-scoped (restricted by index patterns) or deployment-scoped (applying across the entire deployment). See Authentication.
Search settings
Section titled “Search settings”Per-index configuration stored under indexes/<index>/settings.ef.bin that
controls query-time behavior, including ranking overrides, synonyms, typo
exclusions, and field interpretation. Search settings attach to the index name
rather than a generation. See Admin API and
Storage layout.
The function a ranking signal applies to a field value to get a number between 0
and 1. The three shapes are saturation for an unbounded count, decay for an
age, and linear for a value already in a known range. See
Field types.
Signal field
Section titled “Signal field”A numeric field declared with a signal property. The engine stores its values
only as doc values and leaves them out of the stored document source, so a
change naming the primary key and signal fields alone refreshes the values in
place without rewriting the document. A signal field sorts without sort
enabled. See Signal fields for why the
values are held this way, and Field types for the
rules.
Sub-document
Section titled “Sub-document”An isolated document instance created for each object in an array when an
object field is configured with "mode": "nested". Sub-documents can be
searched with nested queries and returned as individual hits. See
Field types.
Tie breaker
Section titled “Tie breaker”A fallback ordering rule that orders two documents the primary sort ranked equally. The engine appends tie breakers after the sort order a search asks for and evaluates them in sequence until one resolves the tie. See Relevance.
Writer
Section titled “Writer”The single candidate node currently holding the claim to modify an index, accumulate local changes, and push updates to storage. See Architecture.
Exofind is built by Level Four AB and is available under the Apache License 2.0.