1. 가장 기본적인 검색 방법
- 모든 문서 조회
GET tripdoc/_search
{
"query": {
"match_all": {}
}
}
- 결과
2. 특정 필드 검색
- "match" 를 이용하여 검색 대상 field 를 지정하고 검색할 값을 입력한다.
- "explain" 을 사용하여 검색 결과 관련 설명도 확인 할 수 있다.
POST /trip_recommend/_search
{
"query": {
"match": {
"content": "특별한 서울 여행"
}
},
"explain": true
}
- 검색 결과
3. 불리언 쿼리
- must : 반드시 충족해야 하는 조건 ( AND )
- must_not : 반드시 일치하지 않는 조건
- should : 조건 ( OR ), minimum_should_match 로 최소 일치 갯수를 설정 할 수 있다.
- filter : 필터로 사용될 쿼리 목록
4. 검색 score
- 7버전 이후 BM25( Best Matching 25 ) 를 기본 알고리즘으로 사용
- BM25 = TF X IDF
- TF : 문서 내 용어 빈도
- IDF : 전체 문서 중 문서 빈도 (희소성이 높을 수 록 높은 점수)
- 즉, 전체 문서 중 희소성이 높은 문서에 검색 요청 단어의 빈도가 높다면 높은 점수의 결과가 나타남
'ELK > Elasticsearch' 카테고리의 다른 글
[Elasticsearch] Index(색인) (0) | 2024.05.06 |
---|---|
[Elasticsearch] Mapping 정의 (1) | 2024.05.06 |
[Elasticsearch] 엘라스틱 서치란? (1) | 2024.05.06 |