{ "$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 } } }