fuzziness 설정

fuzziness 필드는 단순히 같은 값이 아니라 유사한 값으로도 찾을 수 있다. Levenshtein 편집거리 알고리즘을 사용하여 매칭을 한다.

<aside> 🌿 Levenshtein 편집거리 알고리즘

</aside>

fuzziness 오차범위 값으로는 0, 1, 2, AUTO 로 지정할수 있는데, apply로 검색해도 apple 도 검색이 된다.

POST log-2020-01-01/_search
{
    "query": {
        "match": {
            "userName": {
                "query": "apply",
                "fuzziness": 2
            }
        }
    }
}

boosting 설정

boosting 를 이용하여 관련성이 높은 필드나 키워드에 가중치를 더 줄 수 있다.

아래와 같이 질의를 요청하면 userName에 3배의 가중치를 더 주게 된다.

POST log-2020-01-01/_search
{
    "query": {
        "multi_match": {
            "query": "apply",
            "fields": ["userName^3", "userId"]
        }
    }
}