{"id":10990,"date":"2025-10-26T12:09:17","date_gmt":"2025-10-26T03:09:17","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=10990"},"modified":"2025-10-30T13:01:26","modified_gmt":"2025-10-30T04:01:26","slug":"install-elasticsearch-9-x-on-windows","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=10990","title":{"rendered":"Install ElasticSearch 9.x on Windows"},"content":{"rendered":"<h1>Install ElasticSearch 9.x on Windows<\/h1>\n<p>\uc5d8\ub77c\uc2a4\ud2f1\uc11c\uce58\uac00 \uc5b4\ub5bb\uac8c \ubcc0\uacbd\ub418\uc5c8\ub294\uc9c0 \uad81\uae08\ud574\uc11c \uac04\ub2e8\ud788 \uc708\ub3c4\uc6b0 \ubc84\uc804\uc758 ELK \uc2a4\ud0dd\uc744 \uc124\uce58\ud574 \ubd05\ub2c8\ub2e4.<\/p>\n<p>ElasticSearch 7.12 \uc774\ud6c4 \ubc84\uc804\ubd80\ud130\ub294 JDK \uac00 \ub0b4\uc7a5\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h2>ElasticSearch \uc124\uce58 \ubc0f \uc2e4\ud589<\/h2>\n<ul>\n<li>ELK \ud3f4\ub354 \uc0dd\uc131<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">D:\\&gt;mkdir ELK\nD:\\&gt;cd ELK\\<\/code><\/pre>\n<ul>\n<li>\n<p>\uc5d8\ub77c\uc2a4\ud2f1\uc11c\uce58 \ub2e4\uc6b4\ub85c\ub4dc \ud6c4 \uc555\ucd95 \ud574\uc81c<\/p>\n<p><a href=\"https:\/\/www.elastic.co\/kr\/downloads\/elasticsearch\">https:\/\/www.elastic.co\/kr\/downloads\/elasticsearch<\/a><\/p>\n<\/li>\n<li>\n<p>elasticsearch \ud3f4\ub354\ub97c ELK \ud3f4\ub354 \ubc11\uc73c\ub85c \uc774\ub3d9<\/p>\n<\/li>\n<li>\n<p>ELK\/elasticsearch\/config\/elasticsearch.yml \uc218\uc815<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"language-yaml\">cluster.name: test-es\nnode.name: test-es-node01\n\npath:\n  data: .\/data\n  logs: .\/logs\n\nnetwork.host: 127.0.0.1\n\ndiscovery.type: &quot;single-node&quot;\nxpack.security.enabled: false<\/code><\/pre>\n<ul>\n<li>ELK\/elasticsearch\/config\/jvm.options \uc218\uc815<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">## \uc8fc\uc11d \ud574\uc81c\n-Xms4g\n-Xmx4g<\/code><\/pre>\n<ul>\n<li>\ub2e4\uc74c \uba85\ub839\uc5b4 \uc2e4\ud589<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">D:\\ELK&gt;elasticsearch\\bin\\elasticsearch.bat<\/code><\/pre>\n<ul>\n<li>\n<p>\uc11c\ube44\uc2a4 \ub4f1\ub85d \ud6c4 \uc2e4\ud589<\/p>\n<p>\uc2e4\ud589\uc911\uc778 elasticsearch \ub97c Ctrl-c \ub97c \ub20c\ub824\uc11c \uc885\ub8cc\uc2dc\ud0a8\ub2e4.<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">D:\\ELK&gt;elasticsearch\\bin\\elasticsearch-service.bat install\nD:\\ELK&gt;elasticsearch\\bin\\elasticsearch-service.bat start\n# D:\\ELK&gt;elasticsearch\\bin\\elasticsearch-service.bat stop<\/code><\/pre>\n<ul>\n<li>\n<p>\uc811\uc18d\ud558\uae30<\/p>\n<p><a href=\"http:\/\/localhost:9200\">http:\/\/localhost:9200<\/a><\/p>\n<\/li>\n<li>\n<p>\uc885\ub8cc\ud558\uae30<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">D:\\ELK&gt;elasticsearch\\bin\\elasticsearch-service.bat stop<\/code><\/pre>\n<h2>Kibana \uc124\uce58 \ubc0f \uc2e4\ud589<\/h2>\n<ul>\n<li>\n<p>kibana \ub2e4\uc6b4\ub85c\ub4dc \ud6c4 \uc555\ucd95 \ud574\uc81c<\/p>\n<p>\ud30c\uc77c \uac2f\uc218\uac00 \ub9ce\uc544\uc11c \ub290\ub9bc (11\ub9cc\uac1c \uc774\uc0c1)<\/p>\n<p><a href=\"https:\/\/www.elastic.co\/kr\/downloads\/kibana\">https:\/\/www.elastic.co\/kr\/downloads\/kibana<\/a><\/p>\n<\/li>\n<li>\n<p>kibana \ud3f4\ub354\ub97c ELK \ud3f4\ub354 \ubc11\uc73c\ub85c \uc774\ub3d9<\/p>\n<\/li>\n<li>\n<p>ELK\/kibana\/config\/kibana.yml \uc218\uc815<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"language-yaml\">server.port: 5601\nserver.host: localhost\nserver.publicBaseUrl: &quot;http:\/\/localhost:5601&quot;\nelasticsearch.hosts: [&quot;http:\/\/localhost:9200&quot;]<\/code><\/pre>\n<ul>\n<li>\n<p>\ub2e4\uc74c \uba85\ub839\uc5b4 \uc2e4\ud589<\/p>\n<p>\uc708\ub3c4\uc6b0\uac00 \ubc14\uc774\ub7ec\uc2a4 \uac80\uc0ac\ub97c \ud558\uae30 \ub54c\ubb38\uc5d0 \uc2e4\ud589\uc5d0 \uc2dc\uac04\uc774 \uac78\ub9bd\ub2c8\ub2e4. (5~10\ubd84)<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"language-bash\">D:\\ELK&gt;kibana\\bin\\kibana.bat<\/code><\/pre>\n<ul>\n<li>\n<p>\uc811\uc18d\ud558\uae30<\/p>\n<p>elasticsearch \ub294 \uc2e4\ud589\uc911\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p><a href=\"http:\/\/localhost:5601\">http:\/\/localhost:5601<\/a><\/p>\n<\/li>\n<li>\n<p>\ud14c\uc2a4\ud2b8\ud558\uae30<\/p>\n<p>try sample data \ubc84\ud2bc\uc744 \ub20c\ub7ec \uc0d8\ud50c \ub370\uc774\ud0c0\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<\/li>\n<\/ul>\n<h2>Korean Jaso Analyzer \ub97c \uc774\uc6a9\ud55c \uc790\ub3d9\uc644\uc131<\/h2>\n<p><a href=\"https:\/\/github.com\/skyer9\/elasticsearch-jaso-analyzer\/tree\/9.2.0\">\uc5ec\uae30<\/a> \uc5d0\uc11c Korean Jaso Analyzer \ub97c \ub2e4\uc6b4\ubc1b\uc544 \ucef4\ud30c\uc77c \ubc0f \uc124\uce58\ub97c \ud569\ub2c8\ub2e4.<\/p>\n<h3>\uc778\ub371\uc2a4 \uc0dd\uc131<\/h3>\n<p>auto_complete.json<\/p>\n<pre><code class=\"language-json\">{\n  &quot;settings&quot;: {\n    &quot;index&quot;: {\n      &quot;number_of_replicas&quot;: &quot;0&quot;,\n      &quot;max_ngram_diff&quot;: 50,\n      &quot;analysis&quot;: {\n        &quot;filter&quot;: {\n          &quot;suggest_filter&quot;: {\n            &quot;type&quot;: &quot;ngram&quot;,\n            &quot;min_gram&quot;: 1,\n            &quot;max_gram&quot;: 50\n          }\n        },\n        &quot;analyzer&quot;: {\n          &quot;my_ngram_analyzer&quot;: {\n            &quot;tokenizer&quot;: &quot;my_ngram_tokenizer&quot;\n          },\n          &quot;suggest_search_analyzer&quot;: {\n            &quot;type&quot;: &quot;custom&quot;,\n            &quot;tokenizer&quot;: &quot;jaso_search_tokenizer&quot;\n          },\n          &quot;suggest_index_analyzer&quot;: {\n            &quot;type&quot;: &quot;custom&quot;,\n            &quot;tokenizer&quot;: &quot;jaso_index_tokenizer&quot;,\n            &quot;filter&quot;: [&quot;suggest_filter&quot;]\n          }\n        },\n        &quot;tokenizer&quot;: {\n          &quot;jaso_search_tokenizer&quot;: {\n            &quot;type&quot;: &quot;jaso_tokenizer&quot;,\n            &quot;mistype&quot;: true,\n            &quot;chosung&quot;: false\n          },\n          &quot;jaso_index_tokenizer&quot;: {\n            &quot;type&quot;: &quot;jaso_tokenizer&quot;,\n            &quot;mistype&quot;: true,\n            &quot;chosung&quot;: true\n          },\n          &quot;my_ngram_tokenizer&quot;: {\n            &quot;type&quot;: &quot;ngram&quot;,\n            &quot;min_gram&quot;: &quot;1&quot;,\n            &quot;max_gram&quot;: &quot;10&quot;\n          }\n        }\n      }\n    }\n  },\n  &quot;mappings&quot;: {\n    &quot;properties&quot;: {\n      &quot;search_string&quot;: {\n        &quot;type&quot;: &quot;text&quot;,\n        &quot;fields&quot;: {\n          &quot;ngram&quot;: {\n            &quot;type&quot;: &quot;text&quot;,\n            &quot;analyzer&quot;: &quot;my_ngram_analyzer&quot;\n          },\n          &quot;jaso&quot;: {\n            &quot;type&quot;: &quot;text&quot;,\n            &quot;analyzer&quot;: &quot;suggest_index_analyzer&quot;\n          }\n        }\n      }\n    }\n  }\n}\n<\/code><\/pre>\n<pre><code class=\"language-bash\"># curl -XDELETE &quot;http:\/\/localhost:9200\/auto_complete?pretty&quot; -H &quot;Content-Type: application\/json&quot;\ncurl -XPUT &quot;http:\/\/localhost:9200\/auto_complete?pretty&quot; -H &quot;Content-Type: application\/json&quot; -d @auto_complete.json<\/code><\/pre>\n<h3>\ud14c\uc2a4\ud2b8 \ub370\uc774\ud0c0 \uc0dd\uc131<\/h3>\n<p>\uc911\uc694: \ud30c\uc77c \ub9c8\uc9c0\ub9c9\uc5d0 \ubc18\ub4dc\uc2dc \ube48 \uc904(\uac1c\ud589)\uc774 \ud558\ub098 \uc788\uc5b4\uc57c \ud569\ub2c8\ub2e4!<\/p>\n<p>bulk_data.json<\/p>\n<pre><code class=\"language-json\">{ &quot;index&quot;:{ &quot;_index&quot; : &quot;auto_complete&quot; } }\n{ &quot;search_string&quot;:&quot;\uc140\ud504\ube68\ub798\ubc29&quot;}\n{ &quot;index&quot;:{ &quot;_index&quot; : &quot;auto_complete&quot; } }\n{ &quot;search_string&quot;:&quot;\ube68\ub798\uac74\uc870\ub300&quot;}\n{ &quot;index&quot;:{ &quot;_index&quot; : &quot;auto_complete&quot; } }\n{ &quot;search_string&quot;:&quot;\ubcfc\ube68\uac04\uc0ac\ucd98\uae30&quot;}\n{ &quot;index&quot;:{ &quot;_index&quot; : &quot;auto_complete&quot; } }\n{ &quot;search_string&quot;:&quot;\ube68\ub798\uac74\uc870\uae30&quot;}\n<\/code><\/pre>\n<pre><code class=\"language-bash\">curl -XPOST &quot;http:\/\/localhost:9200\/_bulk?pretty&quot; -H &quot;Content-Type: application\/json&quot; --data-binary @bulk_data.json<\/code><\/pre>\n<h3>\ud14c\uc2a4\ud2b8<\/h3>\n<p>search.json<\/p>\n<pre><code class=\"language-json\">{\n  &quot;query&quot;: {\n    &quot;match&quot;: {\n      &quot;search_string.ngram&quot;: {\n        &quot;query&quot;: &quot;\ube68&quot;,\n        &quot;analyzer&quot;: &quot;my_ngram_analyzer&quot;\n      }\n    }\n  },\n  &quot;highlight&quot;: {\n    &quot;fields&quot;: {\n      &quot;search_string.ngram&quot;: {}\n    }\n  }\n}<\/code><\/pre>\n<pre><code class=\"language-bash\">curl -XGET &quot;http:\/\/localhost:9200\/auto_complete\/_search?pretty&quot; -H &quot;Content-Type: application\/json&quot; -d @search.json<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Install ElasticSearch 9.x on Windows \uc5d8\ub77c\uc2a4\ud2f1\uc11c\uce58\uac00 \uc5b4\ub5bb\uac8c \ubcc0\uacbd\ub418\uc5c8\ub294\uc9c0 \uad81\uae08\ud574\uc11c \uac04\ub2e8\ud788 \uc708\ub3c4\uc6b0 \ubc84\uc804\uc758 ELK \uc2a4\ud0dd\uc744 \uc124\uce58\ud574 \ubd05\ub2c8\ub2e4. ElasticSearch 7.12 \uc774\ud6c4 \ubc84\uc804\ubd80\ud130\ub294 JDK \uac00 \ub0b4\uc7a5\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. ElasticSearch \uc124\uce58 \ubc0f \uc2e4\ud589 ELK \ud3f4\ub354 \uc0dd\uc131 D:\\&gt;mkdir ELK D:\\&gt;cd ELK\\ \uc5d8\ub77c\uc2a4\ud2f1\uc11c\uce58 \ub2e4\uc6b4\ub85c\ub4dc \ud6c4 \uc555\ucd95 \ud574\uc81c https:\/\/www.elastic.co\/kr\/downloads\/elasticsearch elasticsearch \ud3f4\ub354\ub97c ELK \ud3f4\ub354 \ubc11\uc73c\ub85c \uc774\ub3d9 ELK\/elasticsearch\/config\/elasticsearch.yml \uc218\uc815 cluster.name: test-es node.name: test-es-node01 path: data:\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=10990\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-10990","post","type-post","status-publish","format-standard","hentry","category-elasticsearch"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/10990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10990"}],"version-history":[{"count":9,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/10990\/revisions"}],"predecessor-version":[{"id":11002,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/10990\/revisions\/11002"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10990"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}