Elasticsearch-SQL 액세스
Elasticsearch에 대해 SQL과 유사한 쿼리를 실시간으로 실행할 수있는 구성 요소입니다. Elasticsearch SQL은 SQL과 Elasticsearch를 모두 이해하고 Elasticsearch 기능을 활용하여 실시간으로 데이터를 쉽게 읽고 처리 할 수있는 변환기로 생각할 수 있습니다.
Elasticsearch SQL의 장점
It has native integration − 기본 스토리지에 따라 관련 노드에 대해 각각의 모든 쿼리가 효율적으로 실행됩니다.
No external parts − Elasticsearch를 쿼리하기 위해 추가 하드웨어, 프로세스, 런타임 또는 라이브러리가 필요하지 않습니다.
Lightweight and efficient − 실시간으로 적절한 전체 텍스트 검색이 가능하도록 SQL을 수용하고 노출합니다.
예
PUT /schoollist/_bulk?refresh
{"index":{"_id": "CBSE"}}
{"name": "GleanDale", "Address": "JR. Court Lane", "start_date": "2011-06-02",
"student_count": 561}
{"index":{"_id": "ICSE"}}
{"name": "Top-Notch", "Address": "Gachibowli Main Road", "start_date": "1989-
05-26", "student_count": 482}
{"index":{"_id": "State Board"}}
{"name": "Sunshine", "Address": "Main Street", "start_date": "1965-06-01",
"student_count": 604}
위의 코드를 실행하면 아래와 같은 응답을받습니다.
{
"took" : 277,
"errors" : false,
"items" : [
{
"index" : {
"_index" : "schoollist",
"_type" : "_doc",
"_id" : "CBSE",
"_version" : 1,
"result" : "created",
"forced_refresh" : true,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1,
"status" : 201
}
},
{
"index" : {
"_index" : "schoollist",
"_type" : "_doc",
"_id" : "ICSE",
"_version" : 1,
"result" : "created",
"forced_refresh" : true,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 1,
"_primary_term" : 1,
"status" : 201
}
},
{
"index" : {
"_index" : "schoollist",
"_type" : "_doc",
"_id" : "State Board",
"_version" : 1,
"result" : "created",
"forced_refresh" : true,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 2,
"_primary_term" : 1,
"status" : 201
}
}
]
}
SQL 쿼리
다음 예는 SQL 쿼리를 구성하는 방법을 보여줍니다.
POST /_sql?format=txt
{
"query": "SELECT * FROM schoollist WHERE start_date < '2000-01-01'"
}
위의 코드를 실행하면 아래와 같은 응답을받습니다.
Address | name | start_date | student_count
--------------------+---------------+------------------------+---------------
Gachibowli Main Road|Top-Notch |1989-05-26T00:00:00.000Z|482
Main Street |Sunshine |1965-06-01T00:00:00.000Z|604
Note − 위의 SQL 쿼리를 변경하면 다른 결과 집합을 얻을 수 있습니다.