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 | |
|---|---|
| Vectors | Binary quantization, the lucenia_vector field type, the lucenia_knn query |
| Points | Multiway points for numeric and geo fields |
| Graph | The 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.