Skip to main content

Accelerator

octane-accelerator changes how data is written to disk. It replaces two parts of the Lucene codec — the points format and the vectors format — and adds a vector field type and a kNN query on top.

Because it works at the codec layer it is the one Octane component that cannot span OpenSearch minors. See Compatibility.

Enable it on an index​

PUT /scenes
{
"settings": { "index.lucenia.accelerator.enabled": true },
"mappings": {
"properties": {
"embedding": { "type": "lucenia_vector", "dimension": 768, "similarity": "cosine" }
}
}
}

index.lucenia.accelerator.enabled is final: it cannot be changed after the index is created. That is not a limitation to work around — the segments already written carry the codec that wrote them, so a toggleable setting would produce an index whose settings say one thing and whose segments say another, and the setting would be the one that was wrong. To change it, reindex.

What it replaces​

   Lucene codec
├── postings ← unchanged
├── stored fields ← unchanged
├── doc values ← unchanged
├── points ← REPLACED multiway points
└── knn vectors ← REPLACED binary-quantized vectors

Everything else is delegated to the stock codec. The accelerator takes the delegate from the codec service it is layered over, so it composes with whatever OpenSearch would otherwise have used rather than replacing it wholesale.

Components​

Status
VectorsBinary quantization, the lucenia_vector field type, the lucenia_knn query
PointsMultiway points for numeric and geo fields
GraphThe graph_edge field, the graph_traversal query and the concept_similarity scoring query, on any index — not part of the codec, and needs no license. Contraction-hierarchy routing is not exposed yet.

Opening an index is never gated​

Creating an accelerated index requires a license. Opening one never does, and never will. A codec is recorded in every segment; refusing to open would make existing data unreachable the moment a license lapsed — an outage caused by billing rather than an enforcement mechanism. See Licensing.

Removing the plugin​

A node without the plugin cannot decode segments written with its codec. Removing it from a node that holds accelerated indices makes those indices unreadable. Reindex first, or leave the plugin installed and create new indices with the setting off.