Mistakes
Mistakes 카테고리의 모든 포스트 - 한국어
2개의 포스트
📉 쿼리 설계 실수 예시 10가지
Elasticsearch에서 쿼리 성능과 정확도에 영향을 주는 대표적인 실수 10가지를 정리한 문서입니다.
실전 검색 엔진에서 흔히 발생하며, 사전에 방지하거나 리팩터링 시 주의해야 할 포인트입니다.
1. ❌ filter
없이 must
만 사용하는 경우
must
는 relevance score 계산 포함 → 성능 저하- 단순 조건은 반드시
filter
사용
"bool": {
"must": [ { "term": { "status": "active" } } ] // ❌
}
✅ 개선 예시:
"bool": {
"filter": [ { "term": { "status": "active" } } ]
}
2. ❌ from
값을 너무 크게 사용하는 경우
from: 10000
이상은 성능 문제 + 기본 max_result_window 초과 오류- deep pagination 비효율적
✅ 해결 방법:
🚨 실전 매핑 실수 모음
이 문서는 Elasticsearch를 사용할 때 자주 발생하는 매핑 설계 실수 사례들을 정리한 가이드입니다.
실수를 피하기 위한 베스트 프랙티스도 함께 소개합니다.
1. ❌ keyword 필드에 match 사용
문제 설명
keyword
필드는 분석되지 않은 문자열이기 때문에 match
쿼리로는 동작하지 않음.
"match": {
"status": "published" // keyword 필드일 경우 동작 X
}
해결 방법
match
대신term
쿼리를 사용해야 함
"term": {
"status": "published"
}
2. ❌ text 필드로 정렬
문제 설명
text
필드는 분석된 문자열이기 때문에 정렬이 불가능하거나 성능이 매우 나쁨.