1. 쿼리의 방법
엘라스틱 서치와 같이 쿼리의 방법은 "1)쿼리 스트링"과 "2)쿼리 DSL" 두 가지가 있다.
"쿼리 스트링"은 REST API 주소에 붙여 쿼리를 작성하는 방법으로, 간단한 조건 검색 시 보통 사용하며
"쿼리 DSL"은 복잡한 조건을 사용하는 경우 쿼리 본문에 JSON 형태로 쿼리를 작성한다.
- 쿼리 스트링
GET human_data/_search?q=genom_name:genom_one
-쿼리 DSL
GET human_data/_search
{
"query: {
"match": {
"genom_name": "genom_one"
}
}
}
2. 쿼리의 종류
쿼리는 여러 쿼리 절로 구성되는데, 크게 "리프 쿼리"와 "복합 쿼리"라는 두 가지 범주로 분류된다.
리프 쿼리는 특정 필드에서 특정 값을 찾는 경우이며, 독립적으로 사용이 가능하다.
리프 쿼리의의 일부는 일치, 용어, 범위 쿼리가 포함된다.
복합 쿼리는 리프/복합쿼리의 조합이다. 즉 여러 쿼리의 결합으로 결과를 얻는 방법이다.
정확하지는 않지만, 살펴본 바 대로
리프 쿼리는 텍스트에서 검색하는 어떤 딱 떨어지는 형태의 검색이라면,
복합 쿼리는 Score와 같은 연관성을 위주로 찾는 것으로 이해해볼 수 있다.
그러면 다음 시간부터는 여러 쿼리를 종류별로 예제와 함께 학습해보자.
'Opensearch' 카테고리의 다른 글
OpenSearch QueryDSL - 용어 수준 쿼리 - Range, Regexp (0) | 2024.04.03 |
---|---|
OpenSearch QueryDSL - 날짜 형식, 날짜 연산 (1) | 2024.04.03 |
OpenSearch QueryDSL - 용어 수준 쿼리 - IDs, prefix (0) | 2024.04.03 |
OpenSearch QueryDSL - 용어 수준 쿼리 - exists, fuzzy (1) | 2024.04.03 |