1. 程式人生 > 實用技巧 >Elasticsearch Python API-Python Client

Elasticsearch Python API-Python Client

Elasticsearch -Python Client ,Python API

API Documentation

所有API呼叫都儘可能接近地對映原始REST api,包括呼叫的必需引數和可選引數之間的區別。這意味著程式碼區分了位置引數和關鍵字引數。但是,我們建議在所有呼叫中都使用關鍵字引數,以確保一致性和安全性。

初次使用

安裝 elasticsearch

pip install elasticsearch

連線 elasticsearch

from elasticsearch import Elasticsearch
es = Elasticsearch(hosts='127.0.0.1:9200') 	# hosts為 elasticsearch 監聽地址,預設埠9200,本機連線請使用localhost

建立 index

from elasticsearch import Elasticsearch
es = Elasticsearch()
doc = {
    'title': '美方要求中方關閉休斯頓領館',
    'us_reason': '間諜活動、竊取資料',
    'cn_response': '強烈譴責、堅決反對'
}
res = es.index(index='test_news', id=1, body=doc)
print(res)

get 查詢

from elasticsearch import Elasticsearch
es = Elasticsearch()
res = es.get(index='test_news', id=1)
print(res)
print(res['_source'])

search 查詢

from elasticsearch import Elasticsearch
es = Elasticsearch(hosts='127.0.0.1:9200')

doc = {
    'query':
        {
            'match_all':{}
        }
}
res = es.search(index='test_news', body=doc)
print(res)

Ignore 忽略

如果elasticsearch返回2XX響應,則認為API呼叫成功(並將返回響應)。否則,返回Status_code

,有時為了不讓程式引發異常,可以使用Ignore忽略指定的Status_Code,來讓程式正常執行。


查詢一個不存在的id 返回StatusCode404

from elasticsearch import Elasticsearch
es = Elasticsearch()
res = es.get(index='test_news', id=5)
print(res)
print(res['_source'])

使用Ignore 忽略404 錯誤

from elasticsearch import Elasticsearch
es = Elasticsearch()
res = es.get(index='test_news', id=5, ignore=404)
print(res)

程式不再引發異常

filter_path 響應過濾

例如,僅返回_id和_source.cn_response :

from elasticsearch import Elasticsearch
es = Elasticsearch()
res = es.get(index='test_news', id=1, filter_path=['_id', '_source.cn_response'])
print(res)

...官網Api :url

https://elasticsearch-py.readthedocs.io/en/master/api.html