Elasticsearch入门2 导入导出数据
来源:互联网 发布:wow插件mac版 编辑:程序博客网 时间:2024/06/17 02:42
将数据导入导出elasticsearch,对elasticsearch进行查询是常用操作。python特供很方便的接口,对数据进行导入导出。
参考博客
python批量导入数据进Elasticsearch http://blog.csdn.net/u012236368/article/details/51284587
[ElasticSearch]Term精确匹配中文字符串短语 http://blog.csdn.net/sunnyyoona/article/details/51842221
python操作Elasticsearch (一、例子) http://www.cnblogs.com/yxpblog/p/5141738.html
elasticsearch 查询(match和term) http://www.cnblogs.com/yjf512/p/4897294.html
代码
python导入Elasticsearch的代码很易懂,主要是对es.index方法中的body进行设置,用字典存储要投入的数据,记录如下:
#coding:utf-8'''python导入数据到es中查询数据'''from datetime import datetimefrom elasticsearch import Elasticsearchfrom elasticsearch import helperses = Elasticsearch(['localhost:9200'])'''#导入数据f = open('parse_table', 'r', encoding='utf-8')count = 0str_title = ''str_context = ''for row in f.readlines(): row = row.strip() if count % 16 < 8: str_title = str(row) if 8 <= count % 16 <=15: str_context = str(row)+str_context if count % 16 == 15: action = {} action['title'] = str_title action['context'] = str_context #print(action) es.index(index='guwen', doc_type='guwen', body=action) str_context = '' count += 1#print(count)'''
查询数据用get和search方法,search方法可以支持结构化查询。
result = es.search(index='guwen', doc_type='guwen', body={ "fields": [ "title", "context" ], "query": { "match_phrase": { "context": { "query": "若君父不敬其爲君父之道,則臣子便可以忿之耶?" } } }})for hit in result['hits']['hits']: print('this is title') print(hit['fields']['title']) print('this is context') print(hit['fields']['context'])
利用elasticsearch查询的时候,如果想要精确查询字符串的时候,可以使用match_phrase,如上面所示。有其他需求,可以参考elasticsearch查询(match和term)中介绍。
另外,python还支持对数据的批量存入。
actions = []i = 1# for row_copy in f.readlines():# print(row_copy)# row_line = row_copy.split('<>')# action={# "_index":"xx",# "_type":"yy",# "_id":i,# "_source":{# 'year':row_line[7].decode('utf-8'),# 'region':row_line[8].decode('utf-8'),# }# }# i += 1# actions.append(action)# if len(actions) == 5:# helpers.bulk(es, actions)# del actions[0:len(actions)]## if len(actions)>0:# helpers.bulk(es,actions)
其他语言php,java也都有对elasticsearch读取的接口。
阅读全文
0 0
- Elasticsearch入门2 导入导出数据
- elasticsearch数据导入导出
- elasticsearch数据导出/导入
- elasticsearch索引数据导入导出
- Elasticsearch的数据导入导出
- 关于elasticsearch中的批量导入导出数据
- elasticsearch修改mapping + 导出/导入数据
- .ElasticSearch的数据导入导出工具-ElasticDump,安装及使用
- HIVE入门_3_数据导入导出
- 2-Elasticsearch集群数据批量导入
- ElasticSearch数据导入Hive
- elasticsearch数据导入
- Elasticsearch 批量导入数据
- elasticsearch 批量导入数据
- Elasticsearch数据导入
- MongoDB数据导入Elasticsearch
- oracle数据导入导出(2)
- elasticsearch(5)hive 数据导入Elasticsearch
- 搭建vsftpd服务器及简单配置
- 引用表格数据
- HDOJ HDU 1109 Run Away
- 关于sql里left join的效率问题
- Eclipse或myEclipse里,没有Project Facets选项的问题(将maven工程转成web工程)
- Elasticsearch入门2 导入导出数据
- JavaWeb:JDBC之事务
- 使用freeMarker技术实现页面静态化
- EventBus3.0新特性之 Subscriber Index ,加速 EventBus
- Java 递归函数
- httpServlet,GenericServlet,Servlet源码分析
- JAVA十个最有“钱途”的领域
- cocos2dx阴影层的实现
- iTextSharp快速使用指南