[ElasticSearch] 검색 기능 개요

Woong·2022년 8월 10일
1

ElasticSearch

목록 보기
3/21

컨텍스트

query context

  • 쿼리에 대한 유사도를 계산하여 반환

filter context

  • 쿼리에 대해 유사도 없이 일치 여부에 따른 결과를 반환
    • 스코어 계산이 없으므로 캐시 활용 가능 -> 빠른 검색 가능

query 방식

  • Rest API URI 주소에 쿼리문을 작성하는 방식
  • 일부 지원되지 않는 기능이 있고, URI 작성이므로 오류 발생 가능성 높음
  • 간단한 개발 테스트에만 사용 권장

Query DSL

  • JSON 기반의 ElasticSearch 쿼리 전용 언어
  • ElasticSearch 의 모든 쿼리 스펙 지원
  • 복잡한 쿼리를 사용하는 실무에 적합

스코어

개요

  • 스코어 값이 높을 수록 연관성이 높다
  • ElasticSearch 5.x 이전은 TF-IDF, 5.x 이후로는 BM25 알고리즘 사용
    • TF-IDF 에 문서 길이가 고려된 알고리즘

IDF

  • Inverse Document Frequency (문서 빈도의 역수)
  • 특정 term이 전체 document에서 자주 등장하는 빈도
    • 전체 document에서 자주 발생한다 -> 중요하지 않은 단어로 가중치를 낮춤

TF

  • Term Frequency (용어 빈도)
  • 특정 term이 하나의 document 에 얼마나 많이 등장하는지에 대한 지표
    • 특정 term이 많이 반복된다면 해당 document 의 주제와 연관되었을 확률이 높다.

BM25

  • TF-IDF에 가중치를 추가한 알고리즘
    • TF의 영향이 줄어든다
      • tem 빈도가 늘어도 TF가 무한정 증가하지 않고 수렴
    • IDF 의 영향이 커진다
      • DF 가 커질수록 IDF가 급격하게 0에 수렴
      • 불용어에 의한 점수 영향을 낮춤
    • 문서의 길이 가중치 추가
      • 문서의 길이가 검색 점수에 영향을 덜 미치도록 함

reference

0개의 댓글