[关闭]
@rickyChen 2016-11-08T09:53:14.000000Z 字数 866 阅读 7004

使用Python往Elasticsearch插入数据

Python Elasticsearch


在这里,我使用Elasticsearch官方推荐elasticsearch第三方包来讲述插入数据的两种方法。

1. index
这是很简单的一个插入数据的方法,每条数据调用一个index方法,代码如下

  1. from datetime import datetime
  2. from elasticsearch import Elasticsearch
  3. es = Elasticsearch( "localhost:9200" )
  4. data = {
  5. "@timestamp" : datetime.now().strftime( "%Y-%m-%dT%H:%M:%S.000+0800" ),
  6. "http_code" : "404",
  7. "count" : "10"
  8. }
  9. es.index( index="http_code", doc_type="error_code", body=data )

2. bulk
一次性插入多条数据的方法

  1. from datetime import datetime
  2. from elasticsearch import Elasticsearch
  3. import elasticsearch.helpers
  4. import random
  5. es = Elasticsearch( "localhost:9200" )
  6. package = []
  7. for i in range( 10 ):
  8. row = {
  9. "@timestamp":datetime.now().strftime( "%Y-%m-%dT%H:%M:%S.000+0800" ),
  10. "http_code" : "404",
  11. "count" : random.randint( 1, 100 )
  12. }
  13. package.append( row )
  14. actions = [
  15. {
  16. '_op_type': 'index',
  17. '_index': "http_code", //index
  18. '_type': "error_code", //type
  19. '_source': d
  20. }
  21. for d in package
  22. ]
  23. elasticsearch.helpers.bulk( es, action )
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注