私のpythonプログラムと統合されたElasticSearchにメッセージを保存する必要があります。今、メッセージを保存しようとしているのは次のとおりです。
d={"message":"this is message"}
for index_nr in range(1,5):
ElasticSearchAPI.addToIndex(index_nr, d)
print d
つまり、10 個のメッセージがある場合、コードを 10 回繰り返す必要があります。そこで、スクリプト ファイルまたはバッチ ファイルを作成してみます。ElasticSearch Guideを確認したところ、BULK APIが利用可能です。フォーマットは次のようになります。
{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_type" : "type1", "_id" : "2" } }
{ "create" : { "_index" : "test", "_type" : "type1", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_type" : "type1", "_index" : "index1"} }
{ "doc" : {"field2" : "value2"} }
私がしたことは:
{"index":{"_index":"test1","_type":"message","_id":"1"}}
{"message":"it is red"}
{"index":{"_index":"test2","_type":"message","_id":"2"}}
{"message":"it is green"}
また、curl ツールを使用してドキュメントを保存します。
$ curl -s -XPOST localhost:9200/_bulk --data-binary @message.json
次に、Python コードを使用してファイルを Elastic Search に保存します。