• О Милвусе
  • Начать
  • Концепции
  • Руководство пользователя
    • Коллекции
    • Схема и поля данных
    • Вставка и удаление
    • Индексы
    • Поиск
    • Вкрапления и рерайтинг
    • Оптимизация хранения
  • Импорт данных
  • Инструменты искусственного интеллекта
  • Руководство по администрированию
  • Инструменты
  • Интеграции
  • Учебники
  • Вопросы и ответы
  • API Reference

BIN_FLAT

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

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

Чтобы построить индекс BIN_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_binary_vector_field_name", # Name of the vector field to be indexed
    index_type="BIN_FLAT", # Type of the index to create
    index_name="vector_index", # Name of the index to create
    metric_type="HAMMING", # Metric type used to measure similarity
    params={} # No additional parameters required for BIN_FLAT
)

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

  • index_type: Тип индекса, который будет построен. В этом примере задайте значение BIN_FLAT.

  • metric_type: Метод, используемый для вычисления расстояния между векторами. Для бинарных вкраплений поддерживаются следующие значения: HAMMING (по умолчанию) и JACCARD. Подробнее см. в разделе Метрические типы.

  • params: Для индекса BIN_FLAT не требуется никаких дополнительных параметров.

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

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

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

res = MilvusClient.search(
    collection_name="your_collection_name", # Collection name
    anns_field="binary_vector_field",  # Binary vector field name
    data=[query_binary_vector],  # Query binary vector
    limit=3,  # TopK results to return
    search_params={"params": {}}  # No additional parameters required for BIN_FLAT
)

Дополнительные сведения см. в разделе Двоичный вектор.

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

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

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

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

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

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