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 필드는 분석된 문자열이기 때문에 정렬이 불가능하거나 성능이 매우 나쁨.