{"id":638,"date":"2018-09-06T09:50:56","date_gmt":"2018-09-06T00:50:56","guid":{"rendered":"https:\/\/dong1lkim.oboki.net\/?p=638"},"modified":"2019-09-01T22:21:05","modified_gmt":"2019-09-01T13:21:05","slug":"elasticsearch-elasticsearch-sql","status":"publish","type":"post","link":"https:\/\/oboki.net\/workspace\/data-engineering\/elasticsearch\/elasticsearch-elasticsearch-sql\/","title":{"rendered":"[Elasticsearch] elasticsearch-sql"},"content":{"rendered":"<h1>Elasticsearch Sql<\/h1>\n<p>ElasticSearch 6.3.x \ubc84\uc804\ubd80\ud130 X-Pack\uc744 \ud1b5\ud574 SQL-Like Query \uae30\ub2a5\uc744 \uc81c\uacf5\ud55c\ub2e4. Index \uc5d0 \ub300\ud574\uc11c SQL \uc9c8\uc758\ub97c \ubc14\ub85c \ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c, ElasticSearch \uc5d0 \ucd5c\uc801\ud654\ub41c DSL \ub85c translate \ud55c \ub4a4 \ud574\ub2f9 DSL\uc744 \uc774\uc6a9\ud574 \uc870\ud68c\ud55c\ub2e4.<\/p>\n<p>SELECT SQL\ub9cc \uac00\ub2a5\ud558\uace0, multi-index \uc870\ud68c (join SQL)\uc740 \uc218\ud589\ub418\uc9c0 \uc54a\ub294\ub2e4. \ub610\ud55c \uc2a4\uce7c\ub77c \uc11c\ube0c\ucffc\ub9ac \ub4f1 \uc870\uae08\ub9cc \ubcf5\uc7a1\ud574\uc838\ub3c4 \uc798 \uc548 \ub428.<\/p>\n<blockquote><p>\n  Kibana\uc640 Curl REST API \ub97c \uc774\uc6a9\ud560 \uc218 \uc788\ub294 \uac83\uc740 \ubb3c\ub860, jdbc \uc5f0\uacb0\ub3c4 \uc9c0\uc6d0\ud55c\ub2e4.\n<\/p><\/blockquote>\n<p>\ub2e4\uc74c\uc740 sql-cli, curl \uc744 \uc774\uc6a9\ud55c \uc870\ud68c\ubc29\ubc95\uc774\ub2e4.<\/p>\n<h2>\ud14c\uc2a4\ud2b8 \ub370\uc774\ud130 \uc785\ub825<\/h2>\n<pre><code class=\"dsl\">PUT \/library\/book\/_bulk?refresh\n{\"index\":{\"_id\": \"Leviathan Wakes\"}}\n{\"name\": \"Leviathan Wakes\", \"author\": \"James S.A. Corey\", \"release_date\": \"2011-06-02\", \"page_count\": 561}\n{\"index\":{\"_id\": \"Hyperion\"}}\n{\"name\": \"Hyperion\", \"author\": \"Dan Simmons\", \"release_date\": \"1989-05-26\", \"page_count\": 482}\n{\"index\":{\"_id\": \"Dune\"}}\n{\"name\": \"Dune\", \"author\": \"Frank Herbert\", \"release_date\": \"1965-06-01\", \"page_count\": 604}\n<\/code><\/pre>\n<h2>sql-cli<\/h2>\n<h3>elasticsearch-sql-cli \uc2e4\ud589<\/h3>\n<pre><code class=\"bash\">elasticsearch-sql-cli node7.big:9200\nelasticsearch-sql-cli elastic:tmaxtmax@node7.big:9200\n<\/code><\/pre>\n<h3>elasticsearch-sql-cli \uc885\ub8cc<\/h3>\n<pre><code class=\"sql\">sql&gt; exit;\nBye!\n<\/code><\/pre>\n<h3>sql \uc9c8\uc758<\/h3>\n<pre><code class=\"sql\">sql&gt; SELECT * FROM library WHERE release_date &lt; '2000-01-01';\n    author     |     name      |  page_count   |      release_date      \n---------------+---------------+---------------+------------------------\nDan Simmons    |Hyperion       |482            |1989-05-26T00:00:00.000Z\nFrank Herbert  |Dune           |604            |1965-06-01T00:00:00.000Z\n<\/code><\/pre>\n<h2>Kibana Dev Console<\/h2>\n<pre><code class=\"dsl\">POST \/_xpack\/sql?format=txt\n{\n    \"query\": \"SELECT * FROM library WHERE release_date &lt; '2000-01-01'\"\n}\n<\/code><\/pre>\n<h2>CURL RESTful API<\/h2>\n<pre><code class=\"bash\">curl \\\n    -u elastic:tmaxtmax \\\n    -X POST \"node7.big:9200\/_xpack\/sql?format=txt\" \\\n    -H 'Content-Type: application\/json' \\\n    -d'\n        {\n            \"query\": \"SELECT * FROM library WHERE release_date &lt; \\u00272000-01-01\\u0027\"\n        }\n    '\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Elasticsearch Sql ElasticSearch 6.3.x \ubc84\uc804\ubd80\ud130 X-Pack\uc744 \ud1b5\ud574 SQL-Like Query \uae30\ub2a5\uc744 \uc81c\uacf5\ud55c\ub2e4. Index \uc5d0 \ub300\ud574\uc11c SQL \uc9c8\uc758\ub97c \ubc14\ub85c \ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c, ElasticSearch \uc5d0 \ucd5c\uc801\ud654\ub41c DSL \ub85c translate \ud55c \ub4a4 \ud574\ub2f9 DSL\uc744 \uc774\uc6a9\ud574 \uc870\ud68c\ud55c\ub2e4. SELECT SQL\ub9cc \uac00\ub2a5\ud558\uace0, multi-index \uc870\ud68c (join SQL)\uc740 \uc218\ud589\ub418\uc9c0 \uc54a\ub294\ub2e4. \ub610\ud55c \uc2a4\uce7c\ub77c \uc11c\ube0c\ucffc\ub9ac \ub4f1 \uc870\uae08\ub9cc \ubcf5\uc7a1\ud574\uc838\ub3c4 \uc798 \uc548 \ub428. Kibana\uc640 Curl REST API \ub97c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[25,26,116],"class_list":["post-638","post","type-post","status-publish","format-standard","hentry","category-elasticsearch","tag-elasticsearch","tag-query","tag-sql"],"_links":{"self":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/638","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/comments?post=638"}],"version-history":[{"count":4,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/638\/revisions"}],"predecessor-version":[{"id":1237,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/posts\/638\/revisions\/1237"}],"wp:attachment":[{"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/media?parent=638"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/categories?post=638"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oboki.net\/workspace\/wp-json\/wp\/v2\/tags?post=638"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}