🚀 완전 관리형 Milvus인 Zilliz Cloud를 무료로 체험해보세요—10배 더 빠른 성능을 경험하세요! 지금 체험하기>>

Milvus
Zilliz
홈페이지
  • 사용자 가이드
  • Home
  • Docs
  • 사용자 가이드

  • 색인

  • 벡터 인덱스

  • 플랫

FLAT

FLAT 인덱스는 부동 소수점 벡터를 색인하고 검색하는 가장 간단하고 직관적인 방법 중 하나입니다. 이 방식은 고급 전처리나 데이터 구조화 없이 각 쿼리 벡터를 데이터 세트의 모든 벡터와 직접 비교하는 무차별 대입 방식에 의존합니다. 이 접근 방식은 모든 잠재적 일치 항목을 평가하기 때문에 100%의 정확도를 보장합니다.

하지만 이 철저한 검색 방법에는 단점이 있습니다. FLAT 인덱스는 모든 쿼리에 대해 데이터 세트의 전체 스캔을 수행하기 때문에 Milvus의 다른 인덱스 유형에 비해 가장 느린 인덱싱 옵션입니다. 따라서 성능이 중요한 대규모 데이터 세트가 있는 환경에는 적합하지 않습니다. FLAT 인덱스의 가장 큰 장점은 교육이나 복잡한 매개변수 구성이 필요 없기 때문에 단순성과 신뢰성이 높다는 점입니다.

인덱스 구축

Milvus의 벡터 필드에 FLAT 인덱스를 구축하려면 add_index() 방법을 사용하여 인덱스에 index_typemetric_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 인덱스의 경우 인덱스 생성이나 검색 과정에서 추가 파라미터가 필요하지 않습니다.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
피드백

이 페이지가 도움이 되었나요?