基于python操作ES实例详解

yipeiwu_com6年前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设计】。

相关文章

使用Pyrex来扩展和加速Python程序的教程

 Pyrex 是一种专门设计用来编写 Python 扩展模块的语言。根据 Pyrex Web 站点的介绍,“它被设计用来在友好易用的高级 Python 世界和凌乱的低级 C 世...

详解Python的Django框架中的模版继承

在实际应用中,你将用 Django 模板系统来创建整个 HTML 页面。 这就带来一个常见的 Web 开发问题: 在整个网站中,如何减少共用页面区域(比如站点导航)所引起的重复和冗余代码...

socket + select 完成伪并发操作的实例

实例如下: #!/usr/bin/env python # -*- coding: utf-8 -*- import socket #创建一个socket对象 sk1 = sock...

Python2/3中urllib库的一些常见用法

什么是Urllib库 Urllib是Python提供的一个用于操作URL的模块,我们爬取网页的时候,经常需要用到这个库。 升级合并后,模块中的包的位置变化的地方较多。 urllib库对照...

Python升级导致yum、pip报错的解决方法

Python升级导致yum、pip报错的解决方法

前言 本文主要给大家介绍了因Python升级导致yum、pip报错的解放方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 原因: yum是Python写的。服务器...