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 | = | O | O | O |
ne | != | O | O | O |
ge | >= | X | O | O |
gt | > | X | O | O |
le | <= | X | O | O |
lt | < | X | O | O |
in | in (포함관계) | O | O | O |
like | 유사관계 | O | X | X |
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" : "#산뜻한"
}
}