BackEnd/Elasticsearch API

Fuzzy Match Query

hanseom 2025. 4. 1. 04:00
반응형

  검색어와 정확히 일치하지 않더라도 유사한 용어를 찾을 수 있게 해주는 기능입니다. 주로 오타, 철자 오류, 유사어 처리에 유용합니다.

 

Fuzzy Match Query

  Match Query에 fuzziness 파라미터를 추가하여 사용합니다.

GET /_search
{
  "query": {
    "match": {
      "field_name": {
        "query": "search_term",
        "fuzziness": "AUTO"
      }
    }
  }
}

 

주요 파라미터

  • fuzziness: 허용되는 최대 편집 거리입니다. "AUTO" 또는 정수 값(1, 2 등)으로 설정 가능하며, "AUTO"는 검색어 길이에 따라 자동으로 조정됩니다. (3~5글자: 1회 편집 허용, 6글자 이상: 2회 편집 허용, 2글자 이하: 정확히 일치)
  • max_expansions: 생성할 변형의 최대 수를 제한합니다(기본값: 50). 성능 최적화를 위해 너무 높게 설정하지 않는 것이 좋습니다. 
  • prefix_length: 변형을 만들 때 변경되지 않는 시작 문자의 수를 지정합니다(기본값: 0). 값을 증가시키면 성능과 관련성을 향상시킬 수 있습니다.
  • fuzzy_transpositions: 인접한 두 문자의 위치 변경을 허용할지 여부를 설정합니다(기본값: true).

 

 
반응형