Elasticsearch Python API-Python Client
阿新 • • 發佈:2020-07-24
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)