ElasticSearch 工具

# -*- coding:UTF-8 -*-# author:user
# contact: test@test.com
# datetime:2021/8/16 14:30
# software: PyCharm"""
文件说明:ES工具
"""import pandas as pd
from elasticsearch import Elasticsearch
from elasticsearch import helpersclass EsUtil(object):def __init__(self, ip='127.0.0.1'):self.ip = ip# 无状态密码登录self.es = Elasticsearch([ip], port=9200)# 用户名密码状态# self.es = Elasticsearch([ip], http_auth=("elastic", "password"), port=9200)def create_index(self, index_name, mapping):"""mapping示例:"mappings":{"properties": {"question": {"type": "text","analyzer": "ik_smart","search_analyzer": "ik_smart","index": "true"},"answer": {"type": "text","index": "false"},"id": {"type": "integer"}}}"""if self.es.indices.exists(index_name):raise ValueError(index_name+" 已经存在")self.es.indices.create(index=index_name, body=mapping)def exit_index(self, index_name):return self.es.indices.exists(index_name)def delete_index(self, index_name):self.es.indices.delete(index=index_name)def insert_data(self, index_name, idx, body):"""body = {'question': '法外狂徒-张三','answer':'ssss', 'id': 1}"""return self.es.index(index=index_name, id=idx, body=body)def insert_batch_data(self, action):"""action = [{"_index": "repu","_id":"3", "_type":"_doc","_source":{"question": "安大略大","answer":"暗淡看","id":3}},{"_index": "repu", "_id":"4", "_type":"_doc","_source":{"question": "安大略大","answer":"暗淡看","id":4}},{"_index": "repu", "_id":"5", "_type":"_doc","_source":{"question": "安大略大","answer":"暗淡看","id":5}}]"""return helpers.bulk(self.es, action)def delete_by_query(self, index_name, body):"""body = {'query': {'match_all': {}}}body = {'query': {'match': {'id': 1}}}"""self.es.delete_by_query(index=index_name,body=body)def get_data_by_id(self, index_name, idx):return self.es.get(index=index_name, id=idx)def get_data_by_body(self, index_name, body):"""1. 精确查找 termsbody = {'query': {'terms': {'question':['张三', '李四']}}}2. 查询id和question包含:法外狂徒-张三body = {'query': {'multi_match': {'query': '法外狂徒-张三','fields': ['question','id']}}}3. match: 匹配question包含 ‘法外狂徒-张三’的所有数据body = {'query':{'match': {'question':'法外狂徒-张三'}}}4. 精确查找 term  查询question='安大略'的所有数据body = {'query': {'term': {'question': '安大略'}}}"""return self.es.search(index=index_name, body=body)def update_by_id(self, index_name, idx, body):"""body = {"doc":{"question": "略大","answer":"暗淡看","id":3}}"""return self.es.update(index=index_name,id=idx,body=body)def es_info(self):return self.es.info()if __name__ == '__main__':obj = EsUtil()print(obj.es_info())

ElasticSearch 封装工具相关推荐

  1. elasticsearch RestHighLevelClient 使用方法及封装工具

    目录 EsClientRHL 更新日志 开发原因: 使用前你应该具有哪些技能 工具功能范围介绍 工具源码结构介绍 开始使用 未来规划 git地址:https://gitee.com/zxporz/ES ...

  2. elasticsearch 客户端工具ESClientRHL

    elasticsearch 客户端工具Elasticsearch-ESClientRHL Elasticsearch-ESClientRHL: EsClientRHL是一个可基于springboot的 ...

  3. JAVA——Okhttp封装工具类

    基本概念 OKhttp:一个处理网络请求的开源项目,是安卓端最火热的轻量级框架. Maven <!--OK HTTP Client--><dependency><grou ...

  4. Elasticsearch常用工具清单

    1.题记 工欲善其事必先利其器,ELK Stack的学习和实战更是如此,特将工作中用到的"高效"工具分享给大家. 希望能借助"工具"提高开发.运维效率! 2.工 ...

  5. android文件读取工具类,Android 下读取Assets Properties操作封装工具类

    Android 下读取Assets Properties操作封装工具类 发布时间:2018-06-03作者:laosun阅读(2081) 为了方便使用,首先创建BaseApplication类,如下所 ...

  6. 数据库MySQL基础---JDBC开发步骤--JDBC封装工具类--PreparedStatement实现CRUD操作

    JDBC简介 1.JDBC定义Java数据库连接(Java Database Connectivity,简称JDBC):是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询 ...

  7. JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块...

    JAVA之旅(五)--this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块 周末收获颇多,继续学习 一.this关键字 用于区分局部变量和成员变量同名的情况 ...

  8. 扬帆技术论坛系统封装工具 SPAT v 5.5.3.6_BETA1[官方最新版]

    给大家推荐一个不错的系统封装工具 SPAT . 1.本工具实现一键封装系统,并提供了丰富的封装和部署选项,使封装系统更加人性化.支持封装 Windows XP/2003. 2.本工具已集成大多数常见的 ...

  9. android api接口封装,android-apidesigner是一个网络接口封装工具

    android-apidesigner android-apidesigner是一个网络接口封装工具,通过apidesigner,让接口变得统一的输出格式,解耦网络请求与数据解析 相关地址 设计思想 ...

  10. fat32 linux 打包工具_自己封装系统(雨林木风一键系统封装工具V3.65)

    而自己做系 统需要使用专用的系统封装工具, 为大家推荐的雨林木风系统封装工具就是系统封装工具中 的精品之作, 继承雨林木风作品免费又好用的优秀传统, 可以帮助用户轻松的封装系统. 系 统封装技术已经非 ...

最新文章

  1. SDL 实现多线程 的一些BUG
  2. matlab while 跳出,请帮忙看下这个程序为什么跳不出WHILE循环??
  3. php当前月每天时间戳,php获取当前月与上个月月初及月末时间戳的方法
  4. JavaScript:堆栈溢出内存泄漏
  5. vc++ 6.0 三次bezier曲线绘制_Python matplotlib绘制散点图
  6. Fast Refresh 原理剖析
  7. 网秦安全盾 原理分析
  8. 判断语句——switch case
  9. 云计算面试题及答案,云计算工程师面试题集锦
  10. 外派linux运维,请好好善待你身边的Linux运维工程师,因为他们...
  11. char类型与字符编码
  12. 将文件保存到fpga
  13. 安全合规/GDPR--14--通用数据保护条例简介(GDPR简介)
  14. 资深投资人“厂长”沈忱:布局区块链就是在布局新的工业革命
  15. 亲测 可用 des 加密
  16. Scrapy爬取中国地震台网1年内地震数据
  17. 【渝粤题库】陕西师范大学202201 社区管理 作业
  18. 【建模算法】变异系数法(Python实现)
  19. 【vcpkg】POCO库编译链接总结
  20. led显示屏断电问题解决办法

热门文章

  1. 在线API 工具之SosoApi
  2. FPGA入门程序(1)——流水灯
  3. 斐讯k3c V1.7D frp升级
  4. BC26通过LWM2M接入电信AEP平台(透传模式)
  5. 尚学堂python培训靠谱吗_尚学堂百战程序员:Python的字符串
  6. spss和python stata matlab_毕业季:计量经济学实证研究中,哪款软件好(SPSS,Eviews,Matlab,stata,SAS)...
  7. 华为主题锁屏壁纸换不掉_华为手机总出现一些不明照片咋回事,原来你没关闭这个默认设置...
  8. 按键精灵定位坐标循环_按键精灵的控制命令居然恐怖到了这种程度
  9. inode客户端连接成功上不了网_Inode客户端上网常见问题及解决办法
  10. dos命令如何查看计算机信息,电脑DOS命令查看进程详细信息方法图解