Properties
| Name | Type | Description |
|---|---|---|
| m | integer | Number of edges per node in the index graph. Larger the value - more accurate the search, more space required. |
| ef_construct | integer | Number of neighbours to consider during the index building. Larger the value - more accurate the search, more time required to build the index. |
| full_scan_threshold | integer | Minimal size threshold (in KiloBytes) below which full-scan is preferred over HNSW search. This measures the total size of vectors being queried against. When the maximum estimated amount of points th |
| max_indexing_threads | integer | Number of parallel threads used for background index building. If 0 - automatically select from 8 to 16. Best to keep between 8 and 16 to prevent likelihood of building broken/inefficient HNSW graphs. |
| on_disk | boolean | Store HNSW index on disk. If set to false, the index will be stored in RAM. Default: false |
| payload_m | integer | Custom M param for additional payload-aware HNSW links. If not set, default M will be used. |
| inline_storage | boolean | Store copies of original and quantized vectors within the HNSW index file. Default: false. Enabling this option will trade the search speed for disk usage by reducing amount of random seeks during the |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/HnswConfigDiff",
"title": "HnswConfigDiff",
"type": "object",
"properties": {
"m": {
"description": "Number of edges per node in the index graph. Larger the value - more accurate the search, more space required.",
"type": "integer",
"format": "uint",
"minimum": 0,
"nullable": true
},
"ef_construct": {
"description": "Number of neighbours to consider during the index building. Larger the value - more accurate the search, more time required to build the index.",
"type": "integer",
"format": "uint",
"minimum": 4,
"nullable": true
},
"full_scan_threshold": {
"description": "Minimal size threshold (in KiloBytes) below which full-scan is preferred over HNSW search. This measures the total size of vectors being queried against. When the maximum estimated amount of points that a condition satisfies is smaller than `full_scan_threshold_kb`, the query planner will use full-scan search instead of HNSW index traversal for better performance. Note: 1Kb = 1 vector of size 256",
"type": "integer",
"format": "uint",
"minimum": 10,
"nullable": true
},
"max_indexing_threads": {
"description": "Number of parallel threads used for background index building. If 0 - automatically select from 8 to 16. Best to keep between 8 and 16 to prevent likelihood of building broken/inefficient HNSW graphs. On small CPUs, less threads are used.",
"type": "integer",
"format": "uint",
"minimum": 0,
"nullable": true
},
"on_disk": {
"description": "Store HNSW index on disk. If set to false, the index will be stored in RAM. Default: false",
"type": "boolean",
"nullable": true
},
"payload_m": {
"description": "Custom M param for additional payload-aware HNSW links. If not set, default M will be used.",
"type": "integer",
"format": "uint",
"minimum": 0,
"nullable": true
},
"inline_storage": {
"description": "Store copies of original and quantized vectors within the HNSW index file. Default: false. Enabling this option will trade the search speed for disk usage by reducing amount of random seeks during the search. Requires quantized vectors to be enabled. Multi-vectors are not supported.",
"type": "boolean",
"nullable": true
}
}
}