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

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

JSON 연산자

Milvus는 JSON 필드 쿼리 및 필터링을 위한 고급 연산자를 지원하므로 복잡한 구조화된 데이터를 관리하는 데 적합합니다. 이러한 연산자를 사용하면 JSON 문서를 매우 효과적으로 쿼리할 수 있으므로 JSON 필드 내의 특정 요소, 값 또는 조건에 따라 엔티티를 검색할 수 있습니다. 이 섹션에서는 Milvus에서 JSON 전용 연산자를 사용하는 방법을 안내하고, 그 기능을 설명하기 위한 실제 예제를 제공합니다.

JSON 필드는 복잡한 중첩 구조를 처리할 수 없으며 모든 중첩 구조를 일반 문자열로 취급합니다. 따라서 JSON 필드로 작업할 때는 지나치게 깊은 중첩을 피하고 최적의 성능을 위해 데이터 구조가 가능한 한 평평한지 확인하는 것이 좋습니다.

사용 가능한 JSON 연산자

Milvus는 JSON 데이터를 필터링하고 쿼리하는 데 도움이 되는 몇 가지 강력한 JSON 연산자를 제공하며, 이러한 연산자는 다음과 같습니다.

이러한 연산자를 예제를 통해 살펴보고 실제 시나리오에서 어떻게 적용될 수 있는지 알아보겠습니다.

JSON_CONTAINS

json_contains 연산자는 JSON 필드 내에 특정 요소 또는 하위 배열이 존재하는지 확인합니다. JSON 배열이나 객체에 특정 값이 포함되어 있는지 확인하고자 할 때 유용합니다.

예제

각각 ["electronics", "sale", "new"] 과 같은 문자열의 JSON 배열을 포함하는 tags 필드가 있는 제품 컬렉션이 있다고 가정해 보겠습니다. "sale" 태그가 있는 제품을 필터링하려고 합니다.

# JSON data: {"tags": ["electronics", "sale", "new"]}
filter = 'json_contains(tags, "sale")'

이 예제에서 Milvus는 tags 필드에 "sale" 요소가 포함된 모든 제품을 반환합니다.

JSON_contains_all

json_contains_all 연산자는 지정된 JSON 표현식의 모든 요소가 대상 필드에 있는지 확인합니다. 이 연산자는 JSON 배열 내에서 여러 값을 일치시켜야 할 때 특히 유용합니다.

예제

제품 태그 시나리오를 계속 진행하면서 "electronics", "sale", "new" 태그가 있는 모든 제품을 찾으려면 json_contains_all 연산자를 사용할 수 있습니다.

# JSON data: {"tags": ["electronics", "sale", "new", "discount"]}
filter = 'json_contains_all(tags, ["electronics", "sale", "new"])'

이 쿼리는 tags 배열에 지정된 세 가지 요소가 모두 포함된 모든 제품을 반환합니다: "electronics", "sale", "new" 을 모두 반환합니다.

json_cotains_any

json_contains_any 연산자는 필드 내에 JSON 표현식의 멤버가 하나 이상 존재하는 엔티티를 필터링합니다. 이 연산자는 여러 가능한 값 중 하나를 기준으로 엔티티를 일치시키려는 경우에 유용합니다.

예제

"electronics", "sale", "new" 태그 중 하나 이상이 있는 제품을 필터링하고 싶다고 가정해 보겠습니다. json_contains_any 연산자를 사용하여 이를 수행할 수 있습니다.

# JSON data: {"tags": ["electronics", "sale", "new"]}
filter = 'json_contains_any(tags, ["electronics", "new", "clearance"])'

이 경우 Milvus는 목록에 ["electronics", "new", "clearance"] 태그 중 하나 이상의 태그가 있는 모든 제품을 반환합니다. 제품에 이러한 태그 중 하나만 있는 경우에도 결과에 포함됩니다.

Try Managed Milvus for Free

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

Get Started
피드백

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