基于python操作ES实例详解

yipeiwu_com5年前Python基础

这篇文章主要介绍了基于python操作ES实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

安装

pip install elasticsearch5 # 安装对应版本的模块

创建ES对象

from elasticsearch5 import Elasticsearch 

# elasticsearch集群服务器的地址
ES = [
  '127.0.0.1:9200'
]

# 创建elasticsearch客户端
es = Elasticsearch(
  ES,
  # 启动前嗅探es集群服务器
  sniff_on_start=True,
  # es集群服务器结点连接异常时是否刷新es节点信息
  sniff_on_connection_fail=True,
  # 每60秒刷新节点信息
  sniffer_timeout=60
)

搜索数据

query = {
  'query': {
    'bool': {
      'must': [
        {'match': {'_all': 'python web'}}
      ],
      'filter': [
        {'term': {'status': 2}}
      ]
    }
  }
}
ret = es.search(index='articles', doc_type='article', body=query)

添加数据

doc = {
     'article_id': article.id,
     'user_id': article.user_id,
     'title': article.title
   }
es.index(index='articles', doc_type='article', body=doc, id=article.id)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python字典DICT类型合并详解

python字典DICT类型合并详解

本文为大家分享了python字典DICT类型合并的方法,供大家参考,具体内容如下 我要的字典的键值有些是数据库中表的字段名, 但是有些却不是, 我需要把它们整合到一起, 因此有些这篇文章...

Python算法的时间复杂度和空间复杂度(实例解析)

算法复杂度分为时间复杂度和空间复杂度。 其作用: 时间复杂度是指执行算法所需要的计算工作量; 而空间复杂度是指执行这个算法所需要的内存空间。 (算法的复杂性体现在运行该算法时的计算...

Python for Informatics 第11章之正则表达式(四)

注:以下文章原文来自于Dr Charles Severance 的 《Python for Informatics》 11.3 组合查询和抽取   如果我们想以“X-”字符串开头的行...

Python使用re模块实现信息筛选的方法

本文实例讲述了Python使用re模块实现信息筛选的方法。分享给大家供大家参考,具体如下: 背景 平时工作中,我们经常会处理大量的元数据(Raw Data),而一般的文件编辑器只能一次查...

Python的bit_length函数来二进制的位数方法

自Python3.1中,整数bit_length方法允许查询二进制的位数或长度。 常规做法: >>> bin(256) '0b100000000' >&g...