Elasticsearch学习笔记(二)

本文介绍了如何在Python中使用Elasticsearch,包括安装库、建立连接和进行搜索。重点讨论了Query DSL模式和Lucene查询语法,但详细查询语法将在后续文章中进一步探讨。
摘要由CSDN通过智能技术生成

要用Elasticsearch存取数据嘛,那肯定要写代码的,我喜欢写python,不过我boss用Java的QAQ。

所以下面记一下python对Elasticsearch的操作。

python中对Elasticsearch的使用:

安装

首先就不用说了,安装Elasticsearch的接口库

pip install Elasticsearch

其实如果不用这个Elasticsearch库,使用普通的可以发送请求的库比如urllib,requests等,只要是可以发送http请求的库,都可以操作Elasticsearch。就是可能麻烦一点。

不过既然人家都给封装好了Elasticsearch专用库,那就用嘛。

import

from elasticsearch import Elasticsearch

然后建立连接

#连接Elasticsearch。这里的192.168.*.*是对我们家的服务器打的码,你可以连接你自己的服务器集群。
#端口默认一般你要是部署Elasticsearch的时候没改过那就是9200
#如果改过的话自己查一下是哪个端口
es =  Elasticsearch(['192.168.*.*','192.168.*.*','192.168.*.*'],port=9200)

#有用户名和密码的话加入 http_auth=('user', 'password') 参数
es =  Elasticsearch(['192.168.*.*','192.168.*.*','192.168.*.*'],http_auth=('user', 'password'),port=9200)

搜索

下面这条搜索语句会以json的格式直接返回搜索结果。

datas=es.search(index='你的数据库')

#常见参数:
#index - 索引名
#from_ - 查询起始点  默认0
#size - 指定查询条数 默认10

#q - 查询指定匹配 使用Lucene查询语法

#body - 使用Query DSL

搜索的函数主要就是这个es.search,里面可以填不同的参数。主要有以下两种搜索模式

Query DSL模式

  • query DSL就是kibana的DevTOOLs里面填写的body搜索格式。使用query DSL搜索要指定body。
  • 使用query DSL的使用不能使用参数q,只能使用参数body。
body={
  "query":
  {
    "match_all":{}
  }
}
data=es.search(index='库名',size=100,from_=10,body=body)

具体的这个body怎么写,query DSL怎么用,我在下一篇再写吧。

Lucene查询语法

  • 相对的,lucence查询语法只用到q参数,不能用到body参数。
  • 具体这个怎么用我还没用过,等我会了再接着写。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值