{"id":3848,"date":"2021-11-13T16:08:55","date_gmt":"2021-11-13T07:08:55","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3848"},"modified":"2022-12-20T16:03:44","modified_gmt":"2022-12-20T07:03:44","slug":"elasticsearch-import-csv","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3848","title":{"rendered":"Elasticsearch import CSV"},"content":{"rendered":"<h1>Elasticsearch import CSV<\/h1>\n<p><a href=\"https:\/\/renesys.tistory.com\/148\">\ucc38\uc870<\/a><\/p>\n<p>CSV \ub97c \uc784\ud3ec\ud2b8 \ud558\ub294 \ubc29\ubc95\uc740 \uc5ec\ub7ec\uac00\uc9c0\uac00 \uc788\uc9c0\ub9cc,<br \/>\n\uc5ec\uae30\uc11c\ub294 python \uc744 \uc774\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \uc815\ub9ac\ud55c\ub2e4.<\/p>\n<h2>import using python<\/h2>\n<pre><code class=\"language-bash\">pip3 install elasticsearch<\/code><\/pre>\n<pre><code class=\"language-bash\">vi import_csv.py\n---------------------------\nfrom elasticsearch import helpers, Elasticsearch\nimport csv\n\ndocument = {\n  &quot;mappings&quot;:{\n    &quot;dynamic&quot;: False,\n    &quot;properties&quot;:{\n      &quot;Time&quot;:{\n        &quot;type&quot;: &quot;date&quot;\n      },\n      &quot;Year&quot;:{\n        &quot;type&quot;: &quot;text&quot;,\n        &quot;fields&quot;: {\n          &quot;keyword&quot;:{\n            &quot;type&quot;: &quot;keyword&quot;,\n            &quot;ignore_above&quot;: 256\n          }\n        }\n      },\n      &quot;Month&quot;:{\n        &quot;type&quot;: &quot;text&quot;,\n        &quot;fields&quot;: {\n          &quot;keyword&quot;:{\n            &quot;type&quot;: &quot;keyword&quot;,\n            &quot;ignore_above&quot;: 256\n          }\n        }\n      },\n      &quot;Hour&quot;:{\n        &quot;type&quot;: &quot;text&quot;,\n        &quot;fields&quot;: {\n          &quot;keyword&quot;:{\n            &quot;type&quot;: &quot;keyword&quot;,\n            &quot;ignore_above&quot;: 256\n          }\n        }\n      },\n      &quot;Type&quot;:{\n        &quot;type&quot;: &quot;text&quot;,\n        &quot;fields&quot;: {\n          &quot;keyword&quot;:{\n            &quot;type&quot;: &quot;keyword&quot;,\n            &quot;ignore_above&quot;: 256\n          }\n        }\n      },\n      &quot;Data&quot;:{\n        &quot;type&quot;: &quot;integer&quot;\n      },\n      &quot;Latitude&quot;:{\n        &quot;type&quot;: &quot;double&quot;\n      },\n      &quot;Longitude&quot;:{\n        &quot;type&quot;: &quot;double&quot;\n      },\n    }\n  }\n}\n\n# itemid,item_name,item_option_name,brand,category,price,image_url\n\n# sed -i &#039;1s\/^\\xEF\\xBB\\xBF\/\/&#039; item_info.csv\n# cp item_info_header.csv item_info_full.csv\n# head -1000000 item_info.csv &gt;&gt; item_info_full.csv\n# vi item_info_full.csv\n\nes = Elasticsearch([&#039;192.168.1.16:9200&#039;], port=9200)\n\nif es.indices.exists(index=&quot;mydata&quot;):\n  pass\nelse:\n  es.indices.create(index=&quot;mydata&quot;, body=document)\n\nwith open(&#039;\/home\/renesys\/work\/defined_data.csv&#039;) as f:\n  reader = csv.DictReader(f)\n  helpers.bulk(es, reader, index=&quot;mydata&quot;, raise_on_error=False)\n---------------------------<\/code><\/pre>\n<pre><code class=\"language-bash\">python3 import_csv.py<\/code><\/pre>\n<h2>\ubcc0\uacbd\uc0ac\ud56d<\/h2>\n<p>API \uac00 \uc57d\uac04 \ubcc0\uacbd\ub41c \ub4ef \ud558\ub2e4.(2022-12-20 \uae30\uc900)<\/p>\n<pre><code class=\"language-python\">from elasticsearch import helpers, Elasticsearch\nimport csv\n\n# search_string, sort\n\nes = Elasticsearch(&quot;http:\/\/testconfig.10x10.co.kr:9200&quot;)\n\nwith open(&#039;autocomplete.csv&#039;, &#039;rt&#039;, encoding=&#039;UTF8&#039;) as f:\n  fieldnames = [&#039;search_string&#039;, &#039;sort&#039;]\n  reader = csv.DictReader(f, fieldnames=fieldnames, delimiter=&#039;\\t&#039;)\n  helpers.bulk(es, reader, index=&quot;auto_complete&quot;, raise_on_error=False)<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Elasticsearch import CSV \ucc38\uc870 CSV \ub97c \uc784\ud3ec\ud2b8 \ud558\ub294 \ubc29\ubc95\uc740 \uc5ec\ub7ec\uac00\uc9c0\uac00 \uc788\uc9c0\ub9cc, \uc5ec\uae30\uc11c\ub294 python \uc744 \uc774\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \uc815\ub9ac\ud55c\ub2e4. import using python pip3 install elasticsearch vi import_csv.py &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; from elasticsearch import helpers, Elasticsearch import csv document = { &quot;mappings&quot;:{ &quot;dynamic&quot;: False, &quot;properties&quot;:{ &quot;Time&quot;:{ &quot;type&quot;: &quot;date&quot; }, &quot;Year&quot;:{ &quot;type&quot;: &quot;text&quot;, &quot;fields&quot;: { &quot;keyword&quot;:{ &quot;type&quot;: &quot;keyword&quot;, &quot;ignore_above&quot;: 256 }\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=3848\">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-3848","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\/3848","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=3848"}],"version-history":[{"count":5,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3848\/revisions"}],"predecessor-version":[{"id":7260,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/3848\/revisions\/7260"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3848"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3848"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3848"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}