在这里,我使用Elasticsearch官方推荐elasticsearch第三方包来讲述插入数据的两种方法。
安装elasticsearch插件
pip install elasticsearch
1.index
这是很简单的一个插入数据的方法,每条数据调用一个index方法,代码如下
rom datetime import datetime
from elasticsearch import Elasticsearch
es = Elasticsearch( "localhost:9200" )
data = {
"@timestamp" : datetime.now().strftime( "%Y-%m-%dT%H:%M:%S.000+0800" ),
"name" : "英语",
"count" : "10"
}
es.index( index="textbook", doc_type="book", body=data )
2.bulk
一次性插入多条数据的方法
from datetime import datetime
from elasticsearch import Elasticsearch
import elasticsearch.helpers
import random
es = Elasticsearch( "localhost:9200" )
package = []
for i in range( 10 ):
row = {
"@timestamp":datetime.now().strftime( "%Y-%m-%dT%H:%M:%S.000+0800" ),
"name" : "英语"+str(i),
"count" : random.randint( 1, 100 )
}
package.append( row )
actions = [
{
'_op_type': 'index',
'_index': "textbook", //index
'_type': "book", //type
'_source': d
}
for d in package
]
elasticsearch.helpers.bulk( es, action )