# Elasticsearchにデータを保存する方法について

**URL:** <https://discuss.elastic.co/t/elasticsearch/26616>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [July 31, 2015, 6:29am UTC](https://discuss.elastic.co/t/elasticsearch/26616 "2015-07-31T06:29:34Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![konchan](https://avatars.discourse-cdn.com/v4/letter/k/b782af/32.png) [@konchan](https://discuss.elastic.co/u/konchan)\
**Post date:** [July 31, 2015, 6:29am UTC](https://discuss.elastic.co/t/elasticsearch/26616/1 "2015-07-31T06:29:34Z")

</div>

今、Javaからelasticsearchにデータを保存して、kibanaで表示するプログラムを作成しています。  
プログラムから入力したデータはファイルに書き込んでいるのですが、  
書き込んだファイルを使用してインデックスを生成する方法が分かりません。  
教えてください。

---

<div class="post-metadata">

**Author:** ![suzuki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suzuki/32/44789_2.png) [@suzuki](https://discuss.elastic.co/u/suzuki)\
**Post date:** [July 31, 2015, 7:44am UTC](https://discuss.elastic.co/t/elasticsearch/26616/2 "2015-07-31T07:44:49Z")

</div>

基本的には次の流れになるのではないでしょうか。

1. プログラムでファイルを読み込む
2. プログラムから Elasticsearch にデータを投げる

2 を実現するために、下記の URL にある各言語用のクライアントライブラリを使ってプログラムを書けば良いと思います。Java であれば、Java API ですね。

- Elasticsearch Clients
  - [https://www.elastic.co/guide/en/elasticsearch/client/index.html](https://www.elastic.co/guide/en/elasticsearch/client/index.html)

また、Embulk という OSS を使ってインポートすることもできます。Embulk の公式サイトに CSV ファイルから Elasticsearch へインポートするサンプルが掲載されていますので、参考にどうぞ。

- Scheduled bulk data loading to Elasticsearch + Kibana 4 from CSV files
  - [http://www.embulk.org/docs/recipe/scheduled-csv-load-to-elasticsearch-kibana4.html](http://www.embulk.org/docs/recipe/scheduled-csv-load-to-elasticsearch-kibana4.html)

---

<div class="post-metadata">

**Author:** ![konchan](https://avatars.discourse-cdn.com/v4/letter/k/b782af/32.png) [@konchan](https://discuss.elastic.co/u/konchan)\
**Post date:** [August 3, 2015, 7:42am UTC](https://discuss.elastic.co/t/elasticsearch/26616/3 "2015-08-03T07:42:42Z")

</div>

教えて頂いたサイトを参考にプログラムを組んでいるのですが  
[https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index-doc.html](https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index-doc.html)  
このページの  
IndexResponse response = client.prepareIndex("twitter", "tweet")  
ってところで「メソッド prepareIndex(String, String) は型 Client で未定義です」というエラーが出て困っています。  
たぶんimportが足りないせいだと思うのですが何が足りないのかが分かりません。  
importはこんな感じです。  
import static org.elasticsearch.node.NodeBuilder.nodeBuilder;  
import static org.elasticsearch.common.xcontent.XContentFactory.\*;  
import java.io.BufferedReader;  
import java.io.File;  
import java.io.FileReader;  
import java.io.FileWriter;  
import java.io.IOException;  
import java.util.Date;  
import java.util.StringTokenizer;  
import java.text.SimpleDateFormat;  
import javax.servlet.RequestDispatcher;  
import javax.servlet.ServletContext;  
import javax.servlet.ServletException;  
import javax.servlet.annotation.WebServlet;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import org.elasticsearch.action.index.IndexResponse;  
import org.elasticsearch.client.Client;  
import org.elasticsearch.client.transport.TransportClient;  
import org.elasticsearch.common.settings.ImmutableSettings;  
import org.elasticsearch.common.transport.InetSocketTransportAddress;  
import org.elasticsearch.node.Node;

アドバイスお願いします。

---

<div class="post-metadata">

**Author:** ![suzuki](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/suzuki/32/44789_2.png) [@suzuki](https://discuss.elastic.co/u/suzuki)\
**Post date:** [August 3, 2015, 8:56am UTC](https://discuss.elastic.co/t/elasticsearch/26616/4 "2015-08-03T08:56:41Z")

</div>

残念ながら私は Java API を使っていないので、これ以上のアドバイスはできそうにありません。

知識のある方のフォローが入るといいですね。

---

<div class="post-metadata">

**Author:** ![johtani](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/johtani/32/44956_2.png) [@johtani](https://discuss.elastic.co/u/johtani)\
**Post date:** [August 5, 2015, 3:41am UTC](https://discuss.elastic.co/t/elasticsearch/26616/5 "2015-08-05T03:41:31Z")

</div>

バージョンはいくつを利用していますか？  
あと、「client」という変数はどうやって定義していますか？

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:51pm UTC](https://discuss.elastic.co/t/elasticsearch/26616/6 "2017-07-06T13:51:29Z")

</div>


