Rate This Document
Findability
Accuracy
Completeness
Readability

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.

Table 1 Parameter description

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*,

  • L2: Euclidean distance.
  • IP: Inner product.

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"
  • "NNDescent"

"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.