🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
Главная
  • Руководство пользователя
  • Home
  • Docs
  • Руководство пользователя

  • Индексы

  • Векторные индексы

  • FLAT

FLAT

Индекс FLAT - один из самых простых и понятных методов индексирования и поиска векторов с плавающей точкой. Он основан на подходе грубой силы, когда каждый вектор запроса напрямую сравнивается с каждым вектором в наборе данных, без какой-либо предварительной обработки или структурирования данных. Такой подход гарантирует точность, обеспечивая 100 % отзыв, поскольку оценивается каждое потенциальное совпадение.

Однако такой метод исчерпывающего поиска имеет свои недостатки. Индекс FLAT - самый медленный вариант индексирования по сравнению с другими типами индексов в Milvus, поскольку он выполняет полное сканирование набора данных для каждого запроса. Следовательно, он не очень хорошо подходит для сред с большими наборами данных, где важна производительность. Основным преимуществом индекса FLAT является его простота и надежность, поскольку он не требует обучения или сложной настройки параметров.

Построение индекса

Чтобы построить индекс FLAT по векторному полю в Milvus, используйте метод add_index(), указав параметры index_type и metric_type для индекса.

from pymilvus import MilvusClient

# Prepare index building params
index_params = MilvusClient.prepare_index_params()

index_params.add_index(
    field_name="your_vector_field_name", # Name of the vector field to be indexed
    index_type="FLAT", # Type of the index to create
    index_name="vector_index", # Name of the index to create
    metric_type="L2", # Metric type used to measure similarity
    params={} # No additional parameters required for FLAT
)

В данной конфигурации:

  • index_type: Тип индекса, который будет построен. В этом примере задайте значение FLAT.
  • metric_type: Метод, используемый для вычисления расстояния между векторами. Поддерживаются следующие значения: COSINE, L2 и IP. Подробнее см. в разделе Типы метрик.
  • params: Для индекса FLAT не требуется дополнительных параметров.

После настройки параметров индекса вы можете создать индекс, используя метод create_index() напрямую или передавая параметры индекса в метод create_collection. Подробнее см. в разделе Создание коллекции.

Поиск по индексу

После того как индекс создан и сущности вставлены в него, вы можете выполнять поиск по сходству в индексе.

res = MilvusClient.search(
    collection_name="your_collection_name", # Collection name
    data=[[0.1, 0.2, 0.3, 0.4, 0.5]],  # Query vector
    limit=3,  # TopK results to return
    search_params={"params": {}}  # No additional parameters required for FLAT
)

Параметры индекса

Для индекса FLAT не требуется никаких дополнительных параметров ни при создании индекса, ни в процессе поиска.

Попробуйте Managed Milvus бесплатно

Zilliz Cloud работает без проблем, поддерживается Milvus и в 10 раз быстрее.

Начать
Обратная связь

Была ли эта страница полезной?