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 를 이용하여 관련성이 높은 필드나 키워드에 가중치를 더 줄 수 있다.
아래와 같이 질의를 요청하면 userName에 3배의 가중치를 더 주게 된다.
POST log-2020-01-01/_search
{
"query": {
"multi_match": {
"query": "apply",
"fields": ["userName^3", "userId"]
}
}
}