Configuration Description
When creating a collection in Milvus, it is required to specify the vector dimension. The test tool loads the dimension when reading the dataset. However, dimensions supported by KBest are within a range, and the specified index types are case sensitive. Table 1 describes the configuration items in the config.yml file of the ANN-Benchmarks test tool.
After starting Milvus, check the logs for error messages. Continuous error message loops indicate misconfigured parameters. Use these error details to diagnose and resolve issues, ensuring queries run correctly.
Parameter |
Description |
Value Type and Range |
Recommended Value |
Configuration Principle |
|---|---|---|---|---|
index_type |
Index type specified during the test. |
std::string, "KBEST" |
KBEST |
None |
metric_type |
Distance measurement mode specified during the test. |
const char*,
|
None |
This parameter is set by the dataset and does not require configuration. |
dim |
Feature dimension. |
int, [1,2999] |
None |
This parameter is set by the dataset and does not require configuration. |
R |
Number of neighboring nodes. |
int, [11,499] |
[50] |
This parameter affects the graph construction time and final index quality. The value 50 is recommended. If the value is too large, the construction time may be too long and the search performance may deteriorate. If the value is too small, the search precision may be affected. |
L |
Candidate node list during the graph construction. |
int, [11,1999] |
[100] |
This parameter affects the graph construction time and final index quality. The value 100 is recommended. If the value is too large, the construction time may be too long. |
A |
Angle threshold during the pruning of graph construction. |
int, [10,360] |
[60] |
For the IP dataset, the value 120 is used, while for the L2 dataset, 60. |
init_builder_type |
Name of the built index algorithm. |
const std::string& ,
|
"RNNDescent" |
Unless otherwise specified, RNNDescent is preferred. |
consecutive |
Block size. |
int, [1,31] |
[20] |
You may adjust the value as required. |
level |
Quantization level. |
int, [0,5] |
[2] |
Level 1 indicates SQ8 quantization, and level 2 indicates SQ4 quantization. For the IP dataset, the value 1 is used, while for the L2 dataset, 2. |
efs |
Size of the candidate node list during search. |
int, [1, number_of_graph_construction_nodes] |
[400] |
For small-scale datasets, the value ranges from 10 to 500. A larger efs value leads to higher search precision but lowers search performance. It is advised to set efs to a smaller value when the precision meets the requirement. |
num_search_thread |
Number of threads during query. |
int, [1, number_of_CPU_cores] |
[1] |
You may adjust the value as required. |