【筆記】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