vector 유형을 사용하여 벡터 임베딩을 인덱스할 수 있습니다. 벡터 필드는 다음 유형의 숫자 배열을 포함해야 합니다.
BSON
int32,int64또는double데이터 유형BSON
double데이터 유형
집계 $vectorSearch $search 파이프라인 vector 에서 단계와 유사한 vectorSearch 연산자 사용하여 유형으로 인덱싱된 필드를 쿼리 할 수 있습니다.
vector 유형 제한 사항
다음과 같은 제한 사항이 적용됩니다:
객체 배열(MongoDB Search
embeddedDocuments유형)이 포함된 필드를vector유형으로 인덱스할 수 없습니다.인덱스 정의에
vector유형이 포함된 경우 storedSource를true로 설정할 수 없습니다. 대신include를 사용하여mongot에 저장할 필드를 지정하거나exclude를 사용하여vector유형 필드를 저장에서 제외합니다.$vectorSearch단계를 사용하여vector유형으로 인덱싱된 필드를 쿼리 할 수 없습니다.MongoDB Search Playground에서 필드를
vector유형으로 색인할 수 있습니다.
Define the Index for the vector Type
Configure vector Field Properties
Configure vector Field Properties
MongoDB Search vector 유형은 다음 매개 변수를 사용합니다.
옵션 | 유형 | 필요성 | 설명 |
|---|---|---|---|
|
| 필수 사항 | 이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 |
| Int | 필수 사항 | MongoDB Search가 인덱스 시점 및 쿼리 시간에 시행하는 벡터 차원의 수입니다. 이 필드는 양자화된 벡터 또는 BinData를 인덱싱 하려면 다음 값 중 하나를 지정할 수 있습니다.
선택한 임베딩 모델에 따라 벡터 임베딩의 차원 수가 결정되며, 일부 모델에는 출력되는 차원 수에 대한 여러 옵션이 있는 경우도 있습니다. 자세한 학습은 임베딩 생성 방법 선택을 참조하세요. |
| 문자열 | 필수 사항 | 상위 K-최근접 이웃을 검색 데 사용하는 벡터 유사성 함수입니다. 이 필드 다음 값 중 하나를 지정할 수 있습니다.
자세한 학습 은 유사성 함수 정보를 참조하세요. |
| 문자열 | 옵션 | 벡터에 대한 자동 벡터 양자화 유형입니다. 임베딩이 다음 값 중 하나를 지정할 수 있습니다.
자세한 내용은 About Quantization.을 참조하세요. |
| 문자열 | 옵션 | 벡터 필드 의 인덱스 구조입니다. 값은 다음과 같습니다.
생략하면 기본값은
|
| 객체 | 옵션 | Hierarchical Navigable Small Worlds 그래프 구성에 사용할 매개변수입니다. 생략하면 중요: 이 기능은 미리 보기 기능으로 제공됩니다. 기본값을 수정하면 MongoDB Search 인덱스와 쿼리에 부정적인 영향을 미칠 수 있습니다. |
| Int | 옵션 | Hierarchical Navigable Small Worlds 그래프에서 노드가 가질 수 있는 최대 간선(또는 연결) 수입니다. 값은 A higher number improves :recall (accuracy of search results) because the graph is better connected. However, this also increases query and indexing time by increasing the number of neighbors to evaluate per graph node, and requires more memory to store the additional nodes for each connection in the Hierarchical Navigable Small Worlds graph. |
| Int | 옵션 | 쿼리 시 숫자가 높을수록 고품질 연결을 가진 그래프가 제공되어 검색 품질(재현율)을 향상시킬 수 있지만, 쿼리 지연 시간이 증가할 수도 있습니다. |
Try an Example for the vector Type
다음 인덱스 정의 예시는 샘플 데이터의 sample_mflix.embedded_movies 컬렉션을 사용합니다. 컬렉션을 로드한 후 다음 예시를 사용하여 vectorSearch MongoDB Search 연산자를 사용하여 쿼리를 실행하기 위한 형식으로 plot_embedding_voyage_3_large 필드를 vector 인덱스할 수 있습니다. 이 인덱스에 대해 실행할 샘플 쿼리는 예시를 참조하세요.
이 인덱스 정의는 동적으로 인덱싱 가능한 모든 필드를 기본값 typeSet를 사용하여 자동으로 인덱싱하고, plot_embedding_voyage_3_large 필드를 vector 유형으로 다음 설정을 사용하여 인덱싱합니다.
2048차원의 수dotProduct유사성 함수scalar양자화hnsw(기본값) 인덱싱 메서드