ES 6.3 SQL 사용법

ES 6.3 은 SQL 기능 을 지원 하지만 이것 은 시험 적 인 것 으로 앞으로 취 소 될 수 있다.This functionality is experimental and may be changed or removed completely in a future release.
restful 을 통 해 SQL 사용 하기
테스트 데이터 넣 기
PUT /library/book2/_bulk?refresh
{"index":{"_id": "Leviathan Wakes"}}
{"name": "Leviathan Wakes", "author": "James S.A. Corey", "release_date": "2011-06-02", "page_count": 561}
{"index":{"_id": "Hyperion"}}
{"name": "Hyperion", "author": "Dan Simmons", "release_date": "1989-05-26", "page_count": 482}
{"index":{"_id": "Dune"}}
{"name": "Dune", "author": "Frank Herbert", "release_date": "1965-06-01", "page_count": 604}

단순 선택,텍스트 형식 되 돌려 주기
POST /_xpack/sql?format=txt
{
    "query": "SELECT * FROM library"
}

response
     author     |     name      |  page_count   |      release_date      
----------------+---------------+---------------+------------------------
Dan Simmons     |Hyperion       |482            |1989-05-26T00:00:00.000Z
James S.A. Corey|Leviathan Wakes|561            |2011-06-02T00:00:00.000Z
Frank Herbert   |Dune           |604            |1965-06-01T00:00:00.000Z

간단 한 Select,json 형식 되 돌려 주기
POST /_xpack/sql?format=json
{
    "query": "SELECT * FROM library"
}

response
{
  "columns": [
    {
      "name": "author",
      "type": "text"
    },
    {
      "name": "name",
      "type": "text"
    },
    {
      "name": "page_count",
      "type": "long"
    },
    {
      "name": "release_date",
      "type": "date"
    }
  ],
  "rows": [
    [
      "Dan Simmons",
      "Hyperion",
      482,
      "1989-05-26T00:00:00.000Z"
    ],
    [
      "James S.A. Corey",
      "Leviathan Wakes",
      561,
      "2011-06-02T00:00:00.000Z"
    ],
    [
      "Frank Herbert",
      "Dune",
      604,
      "1965-06-01T00:00:00.000Z"
    ]
  ]
}

SQL 정렬
POST /_xpack/sql?format=txt
{
    "query": "SELECT * FROM library ORDER BY page_count DESC LIMIT 2"
}

response
     author     |     name      |  page_count   |      release_date      
----------------+---------------+---------------+------------------------
Frank Herbert   |Dune           |604            |1965-06-01T00:00:00.000Z
James S.A. Corey|Leviathan Wakes|561            |2011-06-02T00:00:00.000Z

SQL CLI 명령 행 방식
시동 실행
./bin/elasticsearch-sql-cli

입력 검색 어
sql> SELECT * FROM library;

되돌아오다
sql> SELECT * FROM library;
     author     |     name      |  page_count   |      release_date      
----------------+---------------+---------------+------------------------
Dan Simmons     |Hyperion       |482            |1989-05-26T00:00:00.000Z
James S.A. Corey|Leviathan Wakes|561            |2011-06-02T00:00:00.000Z
Frank Herbert   |Dune           |604            |1965-06-01T00:00:00.000Z

관련 sql 함수 사용 상세 참조https://www.elastic.co/guide/en/elasticsearch/reference/6.3/xpack-sql.html
총결산
SQL 은 ES 조회 로 사용 되 는데 기능 이 일반적 이 며 restful 인터페이스 에서 ES 를 직접 조회 하 는 것 보다 특별한 장점 이 없다.
restful 인터페이스 자체 가 간결 하고 우아 하 며 SQL 을 사용 하면 의미 해석 이 한 번 더 있 습 니 다.SQL 기능 이 약간 부족 해서 나중에 ES 가 취 소 될 수도 있 습 니 다.

좋은 웹페이지 즐겨찾기