【笔记】Python查询ES数据


es是基于Apache Lucene的开源分布式(全文)搜索引擎,,提供简单的RESTful API来隐藏Lucene的复杂性。特点:

  • 1、分布式的实时文件存储,每个字段都被索引并可被搜索
  • 2、分布式的实时分析搜索引擎
  • 3、可以扩展到成百上千台服务器,处理PB级结构化或非结构化数据。

建立es连接

  • Python引入elasticsearch库
from elasticsearch import Elasticsearch
es = Elasticsearch(["localhost:9200"])

查询数据

  • 查询所有数据
# 方式1:
es.search(index="index_name", doc_type="type_name")
 
# 方式2:
body = {
    "query":{
        "match_all":{}
    }
}
es.search(index="index_name", doc_type="type_name", body=body)
  • 等于查询,term与terms
# term: 查询 xx = “xx”
body = {
    "query":{
        "term":{
            "name":"python"
        }
    }
}
# 查询name="python"的所有数据
es.search(index="index_name",doc_type="type_name",body=body)

# terms: 查询 xx = “xx” 或 xx = “yy”
body = {
    "query":{
        "terms":{
            "name":[
                "ios","android"
            ]
        }
    }
}

# 查询出name="ios"或name="android"的所有数据
es.search(index="index_name",doc_type="type_name",body=body)

其他不做赘述:参考ES语法https://www.elastic.co/guide/cn/elasticsearch/guide/current/foreword_id.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM