1. 程式人生 > >elasticsearch的helpers.bulk和es_client.bulk的用法

elasticsearch的helpers.bulk和es_client.bulk的用法

from elasticsearch import Elasticsearch
import datetime
es_client = Elasticsearch(["127.0.0.1:9200"], timeout=20)
es_client.indices.create(index='log_index', ignore=400)
body1 = {"func_info":"刪除日誌", "error_info":"id為空111", "write_date":datetime.datetime.now()}
# body2 = {"func_info":"刪除日誌", "error_info":"id為空222", "write_date":datetime.datetime.now()}
result = [{'index': {'_index': 'log_index', '_type': 'log_index'}}, body1,{'index': {'_index': 'log_index', '_type': 'log_index'}}, body2]

es_result = es_client.bulk(index="log_index",doc_type="log_index", body= result)
es_client.indices.flush()

說明 使用es_client.bulk方法 可以不建立索引index,也能批量插入成功

from elasticsearch import Elasticsearch
from elasticsearch import helpers
import datetime
es_client = Elasticsearch(["127.0.0.1:9200"], timeout=20)
es_client.indices.create(index='d_kl', ignore=400)
result = []
action = {
                "_index": "d_kl",
                "_type": "d_kl",
                "_source": {
                  "data": "資料"
            }
            }
result.append(action)
helpers.bulk(es_client, result)
es_client.indices.flush()