博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
elasticsearch的简单实践
阅读量:5787 次
发布时间:2019-06-18

本文共 1988 字,大约阅读时间需要 6 分钟。

Elasticsearch,一款非常优秀的分布式搜索程序,下面是一些简单的应用方法的封装,希望对大家有所帮助

#!/usr/bin/env python

#encoding:utf-8
from elasticsearch import Elasticsearch
import os
import configparser as cparser
from builtins import int
from framework.logger import Logger
from utils.rcpUtils import rcpUtils

'''========读取config.ini文件中redis配置========'''

base_dir = str(os.path.dirname(os.path.dirname(file)))

file_path = base_dir + "\config\config.ini"

cf = cparser.ConfigParser()
cf.read(file_path)
host = cf.get("uatesconf", "host")
port = cf.get("uatesconf", 'port')
logger = Logger(logger="esUtils").getlog()

'''===========封装es基本操作============='''

rcp = rcpUtils()

class esUtils:

def __init__(self):    '''初始化,获得es的连接'''    try:        self.es = Elasticsearch([{'host':host,'port':port}])        logger.info('connect to es sevrver %s:%s successfully!'%(host,port))    except BaseException as e:        logger.exception("Failed to get the es Connection,please check the configuration:%s" %e)def isClusterUP(self):    '''检测服务是否起来'''    return self.es.ping()def getServerInfo(self):    '''获取服务的一些基本信息,如版本号,集群名称等'''    return self.es.info()def isExist_table(self,table):    '''判断表(索引)是否在es中存在'''    if self.es.indices.exists(index=table) is True:        return True    else:        return Falsedef getESInfo(self,index,_id):    '''精确查询es表中的数据,返回的字典,用于风控检查接口发送后,到es的订单表等场景'''    logger.info('Search %s contains %s.' %(index,_id))    params = {              'query': {                        'match': {                                  '_id': _id                                  }                        }              }    _searched = self.es.search(index=index, doc_type=index, body=params)    return _searched['hits']['hits'][0]['_source']

if name == 'main':

es = esUtils()index = 't_order'order_id = '8019079610268001'#system_id = '7b6a99f3bce14915863cde5104bdf2c3'system_id = '7ecedd704a124a91a0d46ca13bda87c1'_id = rcp.get_id(system_id, order_id)print(es.getESInfo(index, _id))

转载于:https://blog.51cto.com/11565901/2050276

你可能感兴趣的文章
云南去年有望实现151万贫困人口净脱贫
查看>>
Java架构师面试题系列整理(大全)
查看>>
延伸产业链 中国产粮大省向“精深”问发展
查看>>
消费贷用户70%月收入低于5000元 80、90后是主要人群
查看>>
2018年内蒙古外贸首次突破1000亿元
查看>>
CTOR有助于BCH石墨烯技术更上一层楼
查看>>
被遗忘的CSS
查看>>
Webpack中的sourcemap以及如何在生产和开发环境中合理的设置sourcemap的类型
查看>>
做完小程序项目、老板给我加了6k薪资~
查看>>
java工程师linux命令,这篇文章就够了
查看>>
关于React生命周期的学习
查看>>
webpack雪碧图生成
查看>>
搭建智能合约开发环境Remix IDE及使用
查看>>
Spring Cloud构建微服务架构—服务消费基础
查看>>
RAC实践采坑指北
查看>>
runtime运行时 isa指针 SEL方法选择器 IMP函数指针 Method方法 runtime消息机制 runtime的使用...
查看>>
LeetCode36.有效的数独 JavaScript
查看>>
Scrapy基本用法
查看>>
PAT A1030 动态规划
查看>>
自制一个 elasticsearch-spring-boot-starter
查看>>