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