컨텍스트
query context
filter context
- 쿼리에 대해 유사도 없이 일치 여부에 따른 결과를 반환
- 스코어 계산이 없으므로 캐시 활용 가능 -> 빠른 검색 가능
query 방식
URI Search
- Rest API URI 주소에 쿼리문을 작성하는 방식
- 일부 지원되지 않는 기능이 있고, URI 작성이므로 오류 발생 가능성 높음
- 간단한 개발 테스트에만 사용 권장
Query DSL
- JSON 기반의 ElasticSearch 쿼리 전용 언어
- ElasticSearch 의 모든 쿼리 스펙 지원
- 복잡한 쿼리를 사용하는 실무에 적합
스코어
개요
- 스코어 값이 높을 수록 연관성이 높다
- ElasticSearch 5.x 이전은
TF-IDF
, 5.x 이후로는 BM25
알고리즘 사용
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