#coding=utf-8fromdatetime importdatetime

fromelasticsearch importElasticsearch

# 连接elasticsearch,默认是9200es = Elasticsearch()

# 创建索引,索引的名字是my-index,如果已经存在了,就返回个400,# 这个索引可以现在创建,也可以在后面插入数据的时候再临时创建# es.indices.create(index='my-index', ignore)#es.indices.create(index='my-index', )# 也可以,在插入数据的时候再创建索引"my_index",单个插入12条数据# es.index(index="my-index", doc_type="my-type", id=1, body={"name": "xiaoming", "age": 18})# es.index(index="my-index", doc_type="my-type", id=2, body={"name": "daming", "age": 18})# es.index(index="my-index", doc_type="my-type", id=3, body={"name": "xiaoxue", "age": 19})# es.index(index="my-index", doc_type="my-type", id=4, body={"name": "daxue", "age": 19})# es.index(index="my-index", doc_type="my-type", id=5, body={"name": "xiaojun", "age": 20})# es.index(index="my-index", doc_type="my-type", id=6, body={"name": "dajun", "age": 20})# es.index(index="my-index", doc_type="my-type", id=7, body={"name": "xiaohua", "age": 21})# es.index(index="my-index", doc_type="my-type", id=8, body={"name": "dahua", "age": 21})# es.index(index="my-index", doc_type="my-type", id=9, body={"name": "xiaozhang", "age": 22})# es.index(index="my-index", doc_type="my-type", id=10, body={"name": "dazhang", "age": 22})# es.index(index="my-index", doc_type="my-type", id=11, body={"name": "xiaomei", "age": 23})# es.index(index="my-index", doc_type="my-type", id=12, body={"name": "damei", "age": 23})#根据id删除数据# es.delete(index="my-index", doc_type="my-type", id=1)# 获取age=18的所有值match# res = es.search(index="my-index", body={'query': {'match': {'age':18}}})# 获取所有值match_allres = es.search(index="my-index", body={'query': {'match_all': {}}})

printres

print'*'*100# 查询数据,两种get and search# get获取# res = es.get(index="my-index", doc_type="my-type", id=01)# print'res_001 = ',resprint'*'*100# search获取# res = es.search(index="test-index", body={"query": {"match_all": {}}})print'*'*100# CURL的操作# ES查询# curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求。简单的认为是可以在命令行下面访问url的一个工具。# curl# -X 指定http的请求方法 有HEAD GET POST PUT DELETE# -d 指定要传输的数据# -H 指定http请求头信息# elasticsearch rest api遵循的格式为:# curl -X:///# 检查es版本信息# curl IP:9200# 查看集群是否健康# curl http://IP:9200/_cat/health?v# 查看节点列表# curl http://IP:9200/_cat/nodes?v# 列出所有索引及存储大小# curl http://IP:9200/_cat/indices?v# 创建索引# 创建索引名为XX,默认会有5个分片,1个索引# curl -XPUT 'IP:9200/XX?pretty'# 常见后查看,列出所有索引及存储大小# curl http://IP:9200/_cat/indices?v# 示例 es.index(index="my-index", doc_type="my-type", id=1, body={"name": "xiaoming", "age": 18})数据格式如此所示,由以上文中python代码插入的数据# 01、显示es的版本等信息# curl -XGET http://localhost:9200# 02、curl命令查询某个索引库index下的所有数据(在url后面加上一个pretty则会对返回结果进行格式化)# curl -XGET http://localhost:9200/索引/_search?pretty# curl -XGET http://localhost:9200/my-index/_search?pretty# 03、curl命令查询某个type下的所有数据(在url后面加上一个pretty则会对返回结果进行格式化)# curl -XGET http://localhost:9200/索引/类型/_search?pretty# curl -XGET http://localhost:9200/my-index/my-type/_search?pretty## 04、根据id查询具体的一条记录:# curl -XGET http://localhost:9200/my-index/my-type/1?pretty# 输出# {# "_index" : "my-index",# "_type" : "my-type",# "_id" : "1",# "_version" : 2,# "found" : true,# "_source" : {# "age" : 18,# "name" : "xiaoming"# }# }# 05、查询一条索引文档中的具体的字段:# curl -XGET http://localhost:9200/my-index/my-type/1?_source=name# 输出# {"_index":"my-index","_type":"my-type","_id":"1","_version":2,"found":true,"_source":{"name":"xiaoming"}}# 06、如果要查询多个字段,使用","进行隔开# curl -XGET http://localhost:9200/my-index/my-type/1?_source=name,age# 输出# {"_index":"my-index","_type":"my-type","_id":"1","_version":2,"found":true,"_source":{"name":"xiaoming","age":18}}# 07、获取source所有数据# curl -XGET http://localhost:9200/my-index/my-type/1?_source# 输出# {"_index":"my-index","_type":"my-type","_id":"1","_version":2,"found":true,"_source":{"name":"xiaoming","age":18}}# 08、根据条件进行查询name是xiaoming的# curl -XGET http://localhost:9200/my-index/my-type/_search?q=name:xiaoming# 输出# {"took":14,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":1,"max_score":0.2876821,"hits":[{"_index":"my-index","_type":"my-type","_id":"1","_score":0.2876821,"_source":{"age":18,"name":"xiaoming"}}]}}# 09、根据条件进行查询name是xiaoming和name是xiaoxue的,xiaoming和xiaoxue之间用","隔开# curl -XGET http://localhost:9200/my-index/my-type/_search?q=name:xiaoming, xiaoxue# 输出# {"took":134,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":2,"max_score":0.9808292,"hits":[{"_index":"my-index","_type":"my-type","_id":"2","_score":0.9808292,"_source":{"age":19,"name":"xiaoxue"}},{"_index":"my-index","_type":"my-type","_id":"1","_score":0.2876821,"_source":{"age":18,"name":"xiaoming"}}]}}# ES更新########################################### 报406错误,未解决######################################################## ES使用PUT或者POST对文档进行更新,如果指定ID的文档已经存在,则执行更新操作# 注意:执行更新操作的时候,ES首先将旧的文档标记为删除状态,然后添加新的文档,旧的文档不会立即消失,但是你也无法访问,ES会继续添加更多数据的时候在后台清理已经标记为删除状态的文档。# 局部更新# 可以添加新字段或者更新已经存在字段(必须使用POST)# curl -XPOST http://localhost:9200/my-index/my-type/1/_update -d '{"doc":{"name": "xuexue", "age": "11"}}'########################################### 报406错误,未解决######################################################## 10、使用文件的方式# curl - XPOST / PUT http: // master:9200 / index / type / _bulk - -data - binary @ path# 比如# curl - XPOST 'http://master:9200/bank/account/_bulk --data-binary @/home/uplooking/Documents/accounts.json

es python search 返回_Elasticsearch - python操作es,以及curl命令查询es的总结相关推荐

  1. python search返回值_python正则表达式--match search方法

    1.re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回None. (1)函数语法: re.match(pattern,str ...

  2. 使用curl命令操作elasticsearch And 使用http 查询ES

    第一:_cat系列  _cat系列提供了一系列查询elasticsearch集群状态的接口.你可以通过执行  curl -XGET localhost:9200/_cat  获取所有_cat系列的操作 ...

  3. python js返回 json_[python爬虫]把js转化成json

    有一个优秀的库可以使用----demjson 目标链接 请求上面链接,会得到如下图的一个js文件 我们需要把这个js文件转成为dict,方便提取其中需要的字段(这在爬虫任务中非常常见) 失败的方法 传 ...

  4. Python 函数式编程,Python中内置的高阶函数:map()、reduce()、filter()与sorted(),Python中返回函数

    函数式编程 是一种编程范式,比函数更高层次的抽象. 函数式编程将计算视为函数而非指令. 纯函数式编程:不需要变量,没有副作用,测试简单. 支持高阶函数,代码简洁. Python 支持的函数式编程 不是 ...

  5. c++调用python原理_C++调用Python浅析

    环境 VS2005Python2.5.4 Windows XP SP3 简述 一般开发过游戏的都知道Lua和C++可以很好的结合在一起,取长补短,把Lua脚本当成类似动态链接库来使用,很好的利用了脚本 ...

  6. python里面返回上一步_Python中的这3个骚操作你会吗?

    本文主要介绍Python的高级特性:列表推导式.迭代器和生成器,是面试中经常会被问到的特性. 因为生成器实现了迭代器协议,可由列表推导式来生成,所有,这三个概念作为一章来介绍,是最便于大家理解的,现在 ...

  7. python后台返回cookie_Django框架设置cookies与获取cookies操作详解

    本文实例讲述了Django框架设置cookies与获取cookies操作.分享给大家供大家参考,具体如下: 在Django里面,使用Cookie和Session看起来好像是一样的,使用的方式都是req ...

  8. python 图像走势预测_在keras中对单一输入图像进行预测并返回预测结果操作

    模型经过训练测试之后,我们往往用一两张图对模型预测结果进行分析讨论,那么下面介绍在keras中用已训练的模型经过测试的方法. 下面是以利用预训练的ResNet来展示预测的效果,选了一张狗的图片,是来自 ...

  9. Python的re模块 --- 正则表达式操作

    这个模块提供了与 Perl 语言类似的正则表达式匹配操作. 模式和被搜索的字符串既可以是 Unicode 字符串 (str) ,也可以是8位字节串 (bytes). 但是,Unicode 字符串与8位 ...

  10. Python中常用的一些操作总结(未完待续)update @ 2017-5-18

    写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的blog,但是我又不想写没有价值的东西.或许有价值 ...

最新文章

  1. 用户体验改善案例_如何检测用户的设备,以便改善他们的用户体验
  2. [转]收录全部作品,《寂静岭套装》发售开始
  3. 关于Java去连接HTTP地址的操作
  4. ae 创建图像等高线 蒙版_Pixelmator ——图像处理软件
  5. google reader很有用的技巧 F+F11
  6. .NET项目版本号的小随笔
  7. matlab之结构体的创建与存储(CSV数据)
  8. php怎么像git那样做diff,Git 基本操作
  9. matlab 实现排序
  10. docker-compose idea CreateProcess error=2, 系统找不到指定的文件
  11. 程序员走进偶像剧变身男主,网友:我服!
  12. 如何把图片背景设置透明色?如何批量图片去底色?
  13. 小甲鱼C++快速入门——第四天
  14. Netty 超时机制及心跳程序实现
  15. 电脑族的视力保护常识
  16. 路由懒加载的三种写法
  17. 谷歌浏览器打开标签会把之前的覆盖掉_Chrome浏览器切换到之前打开的标签页会重新加载...
  18. RHEL 7.0下载
  19. intellij idea 2016 注册码
  20. PullToRefresh第三方刷新控件使用总结

热门文章

  1. java 下载暂停实现_在文件下载中实现暂停/恢复
  2. 手机黑屏摄像app_手机黑屏摄像软件下载-手机黑屏摄像持续拍摄app1.3安卓版下载_骑士下载...
  3. Delphi网络游戏外挂制作
  4. ASP.NET Core 运行原理解剖[2]-Hosting补充之配置介绍
  5. 什么是服务器?服务器是干什么用的?
  6. logging 详解第三期:Logging 不为人知的二三事
  7. Visual Studio 2019 企业版 16.9.x 创建离线包并安装教程(带百度网盘下载地址和序列号)
  8. python勾股数_勾股数-随心随性无为而为-51CTO博客
  9. html 文字竖排效果
  10. 计算机音乐雅俗共赏,“雅俗共赏”与音乐教育