# 엘라스틱 서치 카테고리 필터링 오류
###### tags: `trouble shooting`
### 원인
- 카테고리에 '/'가 들어가있어 '/'로 문자를 나누기 때문에 '/'가 들어있을 때 '/'단위로 끊어서 검색하기 때문에 정확한 검색이 힘들다.
- terms에 배열로 비교를 하는데 남성패션/잡화 가 입력되었을 때, 남성패션과 잡화로 나누어 찾기 때문에 '남성패션/잡화' 를 찾을 수 없다. (term은 완전히 일치하는 것을 찾기 때문)
- match_phrase 를 사용하면 찾을 수 있지만 하나의 문자열이 들어가기 때문에 문자열을 만들어 줘야한다.
### 해결책 1
- 카테고리에 '/'를 빼고 사용한다.
### 해결책 2
- 아래와 같이 문자열로 만들어 사용한다.
```
"query_string": {
"default_field": "category",
"query": '"패션잡화/남성" OR "삽니다"'
}
```
- 이를 위해서 아래와 같이 문자열을 만들어줘서 해결
```
const categoryStr = `"${category.join('" OR "')}"`
```