Поддержка нескольких типов индексов в Milvus
Milvus — это векторная база данных с открытым исходным кодом с передовыми возможностями для поиска по сходству и приложений ИИ. Одна из важнейших возможностей Milvus — поддержка различных типов индексов; индексы помогают оптимизировать запросы к данным и их извлечение.
Типы индексов
В настоящее время Milvus поддерживает восемь типов индексов:
- FLAT: FLAT лучше всего подходит для сценариев, в которых требуются идеально точные и полные результаты поиска (100% полнота) на небольшом наборе данных масштаба миллионов. FLAT не сжимает векторы и является единственным индексом, гарантирующим точные результаты поиска. Результаты FLAT могут служить точкой сравнения для результатов, полученных другими индексами с полнотой менее 100%.
- IVF_FLAT: IVF_FLAT — это индекс на основе квантования, лучше всего подходящий для сценариев, в которых требуется идеальный баланс между точностью и скоростью запросов (низкоразмерные данные с менее чем 100 000 записей). IVF_FLAT — это система, которая делит векторные данные на кластеры и возвращает результаты поиска по сходству на основе сравнений между целевым вводом и векторами в наиболее похожем(их) кластере(ах). IVS_FLAT резко сокращает время запроса с учетом количества опрашиваемых кластеров. Обратите внимание, что IVF_FLAT не выполняет сжатия, поэтому создаваемые им индексные файлы имеют примерно тот же размер, что и исходные необработанные неиндексированные векторные данные.
- IV_SQ8: IVF_SQ8 — это индекс на основе квантования, который лучше всего подходит для сценариев, требующих значительного сокращения потребления дисковой памяти, CPU и GPU в ситуациях, когда эти ресурсы ограничены. IV_SQ8 может достигать этого, преобразуя каждый FLOAT (4 байта) в UINT8 (1 байт) путем выполнения скалярного квантования. Индекс IV_SQ8 подходит для сценариев с низкоразмерными данными с менее чем 100 000 записей.
- HNSW Index: Hierarchical Navigable Small World (HNSW) — это индекс на основе графа, лучше всего подходящий для сценариев с высокими требованиями к эффективности поиска. Этот индекс создает древовидную структуру для индексирования векторов. Поэтому он полезен, когда набор данных огромен (большой набор данных со многими измерениями) и требуется быстрый поиск. Он строит многоуровневую навигационную структуру для изображения согласно определенным правилам. В этой структуре верхние уровни более разрежены, и расстояния между узлами больше; нижние уровни более плотные, и расстояния между узлами меньше. Поиск начинается с самого верхнего уровня, находит на этом уровне узел, ближайший к цели, а затем переходит на следующий уровень, чтобы начать другой поиск. После нескольких итераций он может быстро приблизиться к целевой позиции.
- IVF_PQ: IVF_PQ — это индекс на основе квантования, лучше всего подходящий для сценариев, в которых требуется высокая скорость запросов к высокоразмерным данным даже ценой точности. Он равномерно разлагает высокоразмерное векторное пространство на декартовы произведения низкоразмерных векторных пространств, затем квантует низкоразмерные векторные пространства. Продуктовое квантование вычисляет расстояния между целевым вектором и центром кластеризации каждого низкоразмерного пространства, снижая временную и пространственную сложность. Индексный файл IVF_PQ меньше (и менее точен), чем IVF_SQ8.
- ANNOY: ANNOY — это индекс на основе деревьев, лучше всего подходящий для сценариев, в которых требуется высокая полнота. Он удобен для наборов данных (менее 1 миллиона записей) с высокой размерностью (и при поиске похожих векторов).
- BIN_FLAT: Этот индекс подходит для низкоразмерных данных с менее чем 100 000 записей. Этот индекс аналогичен FLAT, за исключением того, что BIN_FLAT используется для бинарных эмбеддингов.
- BIN_IVF_FLAT: Этот индекс подходит для наборов высокоразмерных данных с менее чем 10 миллионами записей при поиске похожих векторов. Этот индекс аналогичен FLAT, за исключением того, что BIN_IVF_FLAT используется для бинарных эмбеддингов.
В заключение
Milvus поддерживает различные типы Index, которые помогают оптимизировать запросы и извлечение данных для разных сценариев использования. Выбор правильного типа Index может значительно улучшить производительность поиска в вашем приложении.
Если вы всё ещё определяете, какой тип Index использовать для вашего конкретного сценария, рекомендуется попробовать разные Indexes и сравнить их производительность. Milvus может обеспечить молниеносную производительность поиска для ваших AI-приложений при правильном типе Index и конфигурации.
Следующие шаги
- Скачайте Milvus и начните работу
- Узнайте больше о типах Index в Milvus
- Ознакомьтесь с бенчмарками Milvus в этом документе
Читать далее

3 Easiest Ways to Use Claude Code on Your Mobile Phone
Run Claude Code from your phone with Remote Control, Happy Coder, or SSH + Tailscale. Comparison table, setup steps, and tools for typing, memory, and parallel tasks.

Announcing the General Availability of Zilliz Cloud BYOC on Google Cloud Platform
Zilliz Cloud BYOC on GCP offers enterprise vector search with full data sovereignty and seamless integration.

Proactive Monitoring for Vector Database: Zilliz Cloud Integrates with Datadog
we're excited to announce Zilliz Cloud's integration with Datadog, enabling comprehensive monitoring and observability for your vectorDB deployments.



