본문으로 건너뛰기

Metadata Filter

추천된 유사상품을 Metadata 를 기준으로 결과내 필터링을 할 수 있습니다. 필터로 활용 가능한 정보는 상품 Meta정보 를 참조합니다.

Filter 요청 형식

  • metadataFilter Object의 항목으로 Metadata 필드와 조건으로 구성된 key, value 형식으로 구성합니다.
  • 조건은 연산자와 값 으로 구성됩니다.
  • 연산자가 두 개 이상 포함된 경우 AND 조건으로 인식이 됩니다.

예시

"metadataFilter": {
"productName" : { "in" : ["skirt", "pants"] },
"originPrice" : {
"ge": 10,
"le" : 100,
},
"tag":{
"in" : "#산뜻한"
}
}

연산자 구성

사용 가능한 연산자는 아래와 같으며 각 연산자 별로 사용 가능한 Type에 제한이 있습니다.

연산자정의문자열숫자날짜
eq=OOO
ne!=OOO
ge>=XOO
gt>XOO
le<=XOO
lt<XOO
inin (포함관계)OOO
like유사관계OXX

eq (=)

productName 이 skirt 인 상품

query string (GET 방식)

?metadataFilter.productName.eq=skirt

body (POST 방식)

"metadataFilter": {
"productName" : { "eq" : "skirt" }
}

ne (≠)

productName 이 skirt 이 아닌 상품

query string (GET 방식)

?metadataFilter.productName.ne=skirt

body (POST 방식)

"metadataFilter": {
"productName" : { "ne" : "skirt" }
}

ge (≥)

originPrice 가 100 이상인 상품

query string (GET 방식)

?metadataFilter.originPrice.ge=100

body (POST 방식)

"metadataFilter": {
"originPrice" : { "ge" : 100 }
}

gt (>)

originPrice 가 100 초과인 상품

query string (GET 방식)

?metadataFilter.originPrice.gt=100

body (POST 방식)

"metadataFilter":{
"originPrice" : { "gt" : 100 }
}

le (≤)

originPrice 가 100 이하인 상품

query string (GET 방식)

?metadataFilter.originPrice.le=100

body (POST 방식)

"metadataFilter": {
"originPrice" : { "le" : 100 }
}

lt (<)

originPrice 가 100 미만인 상품

query string (GET 방식)

?metadataFilter.originPrice.lt=100

body (POST 방식)

"metadataFilter": {
"originPrice" : { "lt" : 100 }
}

in

productName 이 skirt 또는 pants 인 상품

query string (GET 방식)

?metadataFilter.productName.in=skirt&metadataFilter.productName.in=pants

body (POST 방식)

"metadataFilter": {
"productName" : { "in" : ["skirt", "pants"] }
}

like

productName 에 skirt 가 포함된 상품

query string (GET 방식)

?metadataFilter.productName.like=skirt

body (POST 방식)

"metadataFilter": {
"productName" : { "like" : "skirt" }
}

응용 예시

productName 은 skirt 또는 pants 이고, originPrice 는 10 이상 100이하, tag#산뜻한 이 포함된 상품

query string

?metadataFilter.productName.in=skirt&metadataFilter.productName.in=pants&metadataFilter.originPrice.ge=10&metadataFilter.originPrice.le=100&metadataFilter.tag.in=#산뜻한

body

"metadataFilter": {
"productName" : { "in" : ["skirt", "pants"] },
"originPrice" : {
"ge": 10,
"le" : 100,
},
"tag":{
"in" : "#산뜻한"
}
}