Elasticsearch 검색 점수 부스팅 (Boosting)


Boosting 개념


방법 1: multi_match 쿼리에서 직접 부스팅 (간단한 방법)

multi_match 쿼리에서 필드명 뒤에 ^ 기호를 붙여 가중치를 바로 지정하는 방식.

JSON

{
  "query": {
    "multi_match": {
      "query": "자바",
      "fields": ["title^3", "content"]
    }
  }
}

방법 2: function_score 쿼리 사용 (권장 방법)

더 정교하고 복잡한 로직으로 점수를 조절하고 싶을 때 사용. 가중치 뿐만 아니라 다양한 함수를 조합할 수 있어 매우 유연함.

Java 클라이언트 코드 예시

title 필드에 특정 키워드가 포함되면 점수를 3배로 만드는 코드.

Java