`
南京老油条
  • 浏览: 60693 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

一段 Python 连接 elasticsearch 的代码

阅读更多

安装

pip install elasticsearch

 

 

es_client.py

# -*- coding: utf-8 -*-
import random
import requests
from elasticsearch import Transport
from elasticsearch.connection import RequestsHttpConnection
from config.base_config import ES_HOSTS, ES_INDEX, ES_CONNECTION_NUM

hosts = []
for host in ES_HOSTS:
    hosts.append({'url': host})

connection_pool = Transport(hosts, connection_class=RequestsHttpConnection).connection_pool

def get_es_conn():
    return connection_pool.get_connection()

def search(query):
    con = get_es_conn()
    status, headers, data = con.perform_request('GET', '/'+ES_INDEX+'/_search?q='+query)
    return data

 

调用

import json
from es_client import search

query_str = "((title:*"+keyword+"*)OR(key_words:*"+keyword+"*))AND(is_public:true)AND(publish_time:[0 TO "+str(int(time.time()))+"])"
query_str += "&size=" + str(page_size)
query_str += "&from=" + str((page - 1) * page_size)        
res = json.loads(search(query_str))

 

 

0
2
分享到:
评论

相关推荐

    python 链接kingbase库

    Python链接Kingbase数据库是将Python编程语言与KingbaseES(Kingbase Enterprise Server)数据库系统进行交互的一种技术。KingbaseES是中国自主研发的一款关系型数据库管理系统,适用于大规模数据处理和高性能事务...

    python批量导入数据进Elasticsearch的实例

    这段代码的意思是当`actions`列表积累到500条数据时,通过`helpers.bulk`方法将其批量导入到Elasticsearch中,并清空`actions`列表,为下一批数据的收集腾出空间。这样可以确保每次导入数据的效率和性能。 最后,...

    python elasticsearch从创建索引到写入数据的全过程

    Python Elasticsearch 是一个用于操作Elasticsearch的客户端库,它提供了丰富的接口来实现对Elasticsearch的各种操作,包括创建索引、插入数据等。在本文中,我们将深入探讨如何使用Python Elasticsearch 从创建索引...

    Python库 | mypy_boto3_es-1.17.50.0-py3-none-any.whl

    开发人员可以利用这个库在编写Python应用程序时,不仅能够方便地连接和操作Elasticsearch集群,还能享受到静态类型检查带来的额外代码质量保证,特别是在处理大数据和复杂的查询操作时,能显著提升开发效率和减少...

    PyPI 官网下载 | elasticsearch_django-7.0.dev2-py3-none-any.whl

    安装完成后,根据官方文档或示例代码集成到你的Django项目中,配置Elasticsearch连接,然后就可以开始利用其功能了。 总结起来,`elasticsearch_django-7.0.dev2-py3-none-any.whl`是针对Python 3的Django项目集成...

    python 实现提取某个索引中某个时间段的数据方法

    `_es_conn`方法创建了一个Elasticsearch对象,没有指定任何特定的服务器地址,这意味着它会连接到本地默认的Elasticsearch实例。如果Elasticsearch运行在其他主机上,需要提供相应的URL。 ```python class App...

    Python-Django中间件能够可视化应用程序的流量在Kibana中

    在“Python-Django中间件能够可视化应用程序的流量在Kibana中”这一主题中,我们将深入探讨如何利用Django中间件和日志记录来监控并可视化应用程序流量,并通过Elasticsearch和Kibana进行数据展示。 1. **Django...

    PyPI 官网下载 | django-elastic-migrations-0.8.0.tar.gz

    Django是一个流行的Python Web框架,而Elasticsearch则是一个分布式全文搜索引擎,广泛应用于大数据分析和实时搜索。 这个库的核心功能是: 1. **Elasticsearch迁移支持**:Django原生的数据库迁移工具(如`manage...

    KingbaseES R3 开发手册.pdf

    - **触发器** - 在特定事件发生时自动执行的一段代码,用于维护数据一致性。 - **规则系统** - 用于定义复杂的业务逻辑规则,增强数据库的安全性和灵活性。 - **PL/SQL开发技巧** - 提供PL/SQL语言的高级用法和最佳...

    使用Python将语音转换为文本的方法

    在Python中进行语音识别,我们可以利用`SpeechRecognition`库,这是一个强大的工具,它为我们提供了与多个公共语音识别API(如Google、IBM、Microsoft等)交互的接口,无需自行构建复杂的机器学习模型。以下是如何...

    elasticstonks

    2. 连接ES:通过创建一个Elasticsearch客户端对象,我们可以连接到本地或远程的Elasticsearch集群。例如: ```python from elasticsearch import Elasticsearch es = Elasticsearch() ``` 3. 数据导入与检索:在...

    grafanalib:用于构建Grafana仪表板的Python库

    3. **集成数据源**:轻松连接到多种数据源,如Prometheus、InfluxDB、Elasticsearch等,进行监控数据的获取。 4. **配置警报**:定义基于指标的警报规则,当条件满足时触发警报通知。 5. **版本控制**:将仪表板定义...

    关键路径代码

    这个压缩包中的代码可能是用某种编程语言(如Python、Java或C++)实现的关键路径算法,可能还包括了对网络图的表示、时间计算和关键路径查找等功能。学习和理解这段代码可以帮助开发者更有效地管理项目,优化时间...

    django访问janusgraph,计算路径积累权重

    JanusGraph是一个分布式图数据库,支持多种后端存储,如HBase、Cassandra和Elasticsearch。它广泛用于复杂数据关系的管理和分析。Gremlin是TinkerPop提供的图遍历语言,用于与JanusGraph进行交互。 首先,为了在...

    transform.rar

    "transform.rar"可能是一个包含"transform"插件的压缩包文件,这个插件可能用于执行各种类型的数据转换任务或者改变代码结构。下面将详细讲解与"transform"相关的知识点。 1. **数据转换(Data Transformation)**...

    威尔克姆E1.5全能版.zip

    1. **集成开发环境(IDE)**:提供一个统一的平台,用于编写、调试和测试代码,支持多种编程语言,如C++, Java, Python等。 2. **版本控制**:内置Git或其他版本控制系统,便于团队协作,追踪代码修改历史。 3. **...

    微机原理第4章汇编语言程序设计.pdf

    每个段都有自己的名称,可以通过ASSUME伪指令来指定段寄存器(如CS、DS、ES和SS)与段的关联。例如,定义一个完整的汇编源程序可能包含如下结构: ```markdown DATA_SEG1 SEGMENT DATA_SEG1 ENDS DATA_SEG2 ...

    devops_tools_chain:我的DevOps工具链为我和我的团队提供了运行任务的支持

    7. **监控与日志**:Prometheus和Grafana提供性能指标,ELK(Elasticsearch、Logstash、Kibana)处理日志分析。 8. **自动化测试**:JUnit或其他测试框架确保代码质量。 **Python在DevOps中的角色** Python在...

    0、知识点1

    10. **Elasticsearch**:Elasticsearch 是一个实时的分布式搜索和分析引擎,常用于日志分析、监控和全文检索。 11. **TCP/IP、HTTP(S)、SNMP网络协议**:这些都是网络通信的基础,理解它们对于网络编程和故障排查至...

    张三_初级web前端工程师1

    在当今数字化快速发展的时代,Web前端开发已经成为了连接用户与互联网世界的桥梁,它赋予了静态网页以生命,使得用户能够与之进行互动。而在这个领域的初级阶段,张三——一名有着扎实理论基础和实战经验的Web前端...

Global site tag (gtag.js) - Google Analytics