🚀 Try Zilliz Cloud, the fully managed Milvus, for free—experience 10x faster performance! Try Now>>

milvus-logo
LFAI
홈페이지
  • 사용자 가이드

배열 연산자

Milvus는 배열 필드를 쿼리하는 강력한 연산자를 제공하여 배열의 내용을 기반으로 엔티티를 필터링하고 검색할 수 있습니다.

배열 내의 모든 요소는 동일한 유형이어야 하며 배열 내의 중첩 구조는 일반 문자열로 취급됩니다. 따라서 배열 필드로 작업할 때는 최적의 성능을 위해 지나치게 깊은 중첩을 피하고 데이터 구조가 가능한 한 평평한지 확인하는 것이 좋습니다.

사용 가능한 ARRAY 연산자

ARRAY 연산자를 사용하면 Milvus에서 배열 필드를 세밀하게 쿼리할 수 있습니다. 이러한 연산자는 다음과 같습니다.

ARRAY_CONTAINS

ARRAY_CONTAINS 연산자는 배열 필드에 특정 요소가 있는지 확인합니다. 배열에 특정 요소가 있는 엔티티를 찾고자 할 때 유용합니다.

예제

연도별로 기록된 최저 기온을 포함하는 배열 필드 history_temperatures 가 있다고 가정해 보겠습니다. 배열에 23 값이 포함된 모든 엔터티를 찾으려면 다음 필터 표현식을 사용할 수 있습니다.

filter = 'ARRAY_CONTAINS(history_temperatures, 23)'

그러면 history_temperatures 배열에 23 값이 포함된 모든 엔티티가 반환됩니다.

array_contains_all

ARRAY_CONTAINS_ALL 연산자는 지정된 목록의 모든 요소가 배열 필드에 있는지 확인합니다. 이 연산자는 배열에 여러 값을 포함하는 엔티티를 일치시키려는 경우에 유용합니다.

예제

history_temperatures 배열에 2324 이 모두 포함된 모든 엔티티를 찾으려면 다음을 사용할 수 있습니다.

filter = 'ARRAY_CONTAINS_ALL(history_temperatures, [23, 24])'

그러면 history_temperatures 배열에 지정된 값이 모두 포함된 모든 엔티티가 반환됩니다.

array_contains_any

ARRAY_CONTAINS_ANY 연산자는 지정된 목록의 요소가 배열 필드에 있는지 확인합니다. 이 연산자는 배열에 지정된 값 중 하나 이상이 포함된 엔티티를 일치시키려는 경우에 유용합니다.

예제

history_temperatures 배열에 23 또는 24 이 포함된 모든 엔티티를 찾으려면 다음을 사용할 수 있습니다.

filter = 'ARRAY_CONTAINS_ANY(history_temperatures, [23, 24])'

그러면 history_temperatures 배열에 23 또는 24 값 중 하나 이상이 포함된 모든 엔티티가 반환됩니다.

ARRAY_LENGTH

ARRAY_LENGTH 연산자를 사용하면 배열 필드에 있는 요소 수를 기준으로 엔티티를 필터링할 수 있습니다. 이 연산자는 특정 길이의 배열을 가진 엔티티를 찾아야 할 때 유용합니다.

예제

history_temperatures 배열의 요소가 10개 미만인 모든 엔티티를 찾고자 하는 경우 다음을 사용할 수 있습니다.

filter = 'ARRAY_LENGTH(history_temperatures) < 10'

그러면 history_temperatures 배열의 요소가 10개 미만인 모든 엔티티가 반환됩니다.

번역DeepL

Try Managed Milvus for Free

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

Get Started
피드백

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