最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Elasticsearch py客戶端庫安裝及使用方法解析

 更新時(shí)間:2020年09月14日 12:01:29   作者:冷冰若水  
這篇文章主要介紹了Elasticsearch py客戶端庫安裝及使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

一、介紹

elasticsearch-py是一個(gè)官方提供的low-level的elasticsearch python客戶端庫。為什么說它是一個(gè)low-level的客戶端庫呢?因?yàn)樗皇菍lasticsearch的rest API接口做了一層簡單的封裝,因此提供了最大的靈活性,但是于此同時(shí)使用起來就不是太方便。相對于這個(gè)low-level的客戶端庫,官方還提供了一個(gè)high-level的python客戶端庫:elasticsearch-dsl,這個(gè)會在另一篇文章中介紹。

更多介紹參見官方文檔:https://elasticsearch-py.readthedocs.io/en/master/

二、安裝

不同的elasticsearch版本要求不同的客戶端版本,所以安裝的時(shí)候需要根據(jù)你的elasticsearch來決定,下面是一個(gè)簡單的參考:

# Elasticsearch 6.x
elasticsearch>=6.0.0,<7.0.0
# Elasticsearch 5.x
elasticsearch>=5.0.0,<6.0.0
# Elasticsearch 2.x
elasticsearch>=2.0.0,<3.0.0

在兼容的大的版本號下盡量選擇最新的版本。

pip install elasticsearch

三、API

3.1 API文檔

所有API都盡可能緊密的映射原始的rest API。

3.1.1 全局選項(xiàng)

某些被客戶端添加的參數(shù)可以使用在所有的API上。

1.ignore

被用戶忽略某些http錯(cuò)誤狀態(tài)碼。

from elasticsearch import Elasticsearch
es = Elasticsearch()

# ignore 400 cause by IndexAlreadyExistsException when creating an index
es.indices.create(index='test-index', ignore=400)

# ignore 404 and 400
es.indices.delete(index='test-index', ignore=[400, 404])

2.timeout

被用于設(shè)置超時(shí)時(shí)間。

# only wait for 1 second, regardless of the client's default
es.cluster.health(wait_for_status='yellow', request_timeout=1)

3.filter_path

被用于過濾返回值。

es.search(index='test-index', filter_path=['hits.hits._id', 'hits.hits._type'])

3.1.2 Elasticsearch

Elasticsearch是一個(gè)low-level客戶端,提供了一個(gè)從python到es rest端點(diǎn)的直接映射。這個(gè)實(shí)例擁有屬性cat、cluster、indices、ingest、nodes、snapshot和tasks,通過他們可以訪問CatClient、ClusterClient、IndicesClient、IngestClient、NodesClient、SnapshotClient和TasksClient的實(shí)例。

elasticsearch類包含了操作elasticsearch許多常用方法,例如:get、mget、search、index、bulk、create、delete等,這些方法的具體用法,可以參考elasticsearch-py的官方文檔。

在執(zhí)行以上方法之前,首先需要獲得一個(gè)elasticsearch的實(shí)例,而獲取這個(gè)實(shí)例有兩個(gè)方法,一個(gè)是給elasticsearch的初始化函數(shù)傳遞一個(gè)connection class實(shí)例,另一個(gè)是給elasticsearch的初始化函數(shù)傳遞要連接的node的host和port,其實(shí)最終這些host、port還是被傳遞給了connection class。

# create connection to localhost using the ThriftConnection
es = Elasticsearch(connection_class=ThriftConnection)

# connect to localhost directly and another node using SSL on port 443
# and an url_prefix. Note that ``port`` needs to be an int.
es = Elasticsearch([
  {'host': 'localhost'},
  {'host': 'othernode', 'port': 443, 'url_prefix': 'es', 'use_ssl': True},
])

3.1.3 Indices

indices用于操作、查詢關(guān)于索引的信息,或者可以說是操作、查詢索引相關(guān)的元數(shù)據(jù)。

3.1.4 Ingest

ingest是一個(gè)插件,用于豐富插入數(shù)據(jù)的插入。

3.1.5 Cluster

cluster用于獲取和集群相關(guān)的信息,例如:集群的健康狀態(tài)、settings等。

3.1.6 Nodes

nodes用于獲取和節(jié)點(diǎn)相關(guān)的信息。

3.1.7 Cat

cat可以用來獲取別名、分片信息、文檔數(shù)量等信息。

3.1.8 Snapshot

snapshot用于管理快照。

3.1.9 Tasks

tasks是用于任務(wù)管理的,官方文檔上提示該task是新特性,未來可能會改變,所以要注意。

3.2 X-Pack APIs

X-Pack是Elastic Stack擴(kuò)展,它將安全性,警報(bào),監(jiān)視,報(bào)告和圖形功能捆綁到一個(gè)易于安裝的程序包中。

  • 3.2.1 Info
  • 3.2.2 Graph Explore
  • 3.3.3 Licensing API
  • 3.3.4 Machine Learning
  • 3.3.5 Security APIS
  • 3.3.6 Watcher APIS
  • 3.3.7 Migration APIS

3.3 異常

這一節(jié)展示了使用elasticsearch-py時(shí)可能拋出的異常。

3.4 連接層API

connection是負(fù)責(zé)與集群連接的類。

3.4.1 Transport

transport封裝與邏輯相關(guān)的傳輸。處理各個(gè)連接的實(shí)例化,并創(chuàng)建一個(gè)連接池來保存它們。

3.4.2 Connection Pool

connection pool是一個(gè)連接池,用于管理連接。

3.4.3 Connection Selector

connection selector是一個(gè)連接選擇器,它最好的一個(gè)例子是zone-aware選擇,可以自動選擇本地連接,只有當(dāng)本地node都無法連接是才會去選擇連接其他node。

3.4.4 Urllib3HttpConnection

默認(rèn)connection class。

3.5 傳輸類

傳輸模塊列出了可以被當(dāng)做elasticsearch初始化參數(shù)connection_class的connection class。

3.5.1 Connection

connection負(fù)責(zé)管理與elasticsearch節(jié)點(diǎn)的連接。

3.5.2 Urllib3HttpConnection

基于urllib的connection class,是默認(rèn)connection class。

3.5.3 RequestsHttpConnection

基于requests的connection class,除非要使用requests相關(guān)的高級特性,否則建議不要使用該類。

3.6 helpers

helpers是一個(gè)簡單的輔助函數(shù)的集合,這些函數(shù)抽象了一些細(xì)節(jié)或原始API。

3.6.1 bulk helpers

bulk API的特定格式要求導(dǎo)致直接使用它們會非常復(fù)雜,因此這里提供了幾個(gè)bulk API的helper函數(shù),具體使用方法可以參考elasticsearch-py的官方文檔。

3.6.2 scan

scan是對scroll API的簡單抽象。

3.6.3 reindex

reindex用于將可能滿足給定查詢的一個(gè)索引中的所有文檔重新索引到另一個(gè)索引

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 開心網(wǎng)和豆瓣日記爬取的小爬蟲

    python 開心網(wǎng)和豆瓣日記爬取的小爬蟲

    我本科有個(gè)很幽默風(fēng)趣的量子力學(xué)老師,他說了很多批話,跟個(gè)公知似的。他的很多文章都放在了開心網(wǎng)(kaixin001.com)上,為了留個(gè)紀(jì)念,用爬蟲保存下來
    2021-05-05
  • python中pyc、?pyd文件及生成使用完整實(shí)例代碼

    python中pyc、?pyd文件及生成使用完整實(shí)例代碼

    這篇文章主要介紹了python中pyc、?pyd文件及生成使用的相關(guān)資料,重點(diǎn)講解了如何使用Python解釋器編譯.py文件為.pyc文件,以及如何使用Cython和distutils工具將C/C++代碼編譯為.pyd文件,需要的朋友可以參考下
    2025-04-04
  • python+selenium定時(shí)爬取丁香園的新型冠狀病毒數(shù)據(jù)并制作出類似的地圖(部署到云服務(wù)器)

    python+selenium定時(shí)爬取丁香園的新型冠狀病毒數(shù)據(jù)并制作出類似的地圖(部署到云服務(wù)器)

    這篇文章主要介紹了python+selenium定時(shí)爬取丁香園的新冠病毒每天的數(shù)據(jù)并制作出類似的地圖(部署到云服務(wù)器),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python讀取視頻流提取視頻幀的兩種方法

    python讀取視頻流提取視頻幀的兩種方法

    這篇文章主要為大家詳細(xì)介紹了python讀取視頻流提取視頻幀的兩種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 淺析Python與Java和C之間有哪些細(xì)微區(qū)別

    淺析Python與Java和C之間有哪些細(xì)微區(qū)別

    這篇文章主要介紹了Python與Java和C之間有哪些細(xì)微區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • wxPython之解決閃爍的問題

    wxPython之解決閃爍的問題

    下面小編就為大家分享一篇wxPython之解決閃爍的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • python 音頻和視頻合并自動裁剪

    python 音頻和視頻合并自動裁剪

    本文主要介紹了python 音頻和視頻合并自動裁剪,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • Python可視化最頻繁使用的10大工具總結(jié)

    Python可視化最頻繁使用的10大工具總結(jié)

    數(shù)據(jù)可視化是數(shù)據(jù)科學(xué)中不可缺少的一部分,下面這篇文章主要給大家介紹了關(guān)于Python可視化最頻繁使用的10大工具,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • 使用python svm實(shí)現(xiàn)直接可用的手寫數(shù)字識別

    使用python svm實(shí)現(xiàn)直接可用的手寫數(shù)字識別

    這篇文章主要介紹了使用python svm實(shí)現(xiàn)直接可用的手寫數(shù)字識別,現(xiàn)在網(wǎng)上很多代碼是良莠不齊,真是一言難盡,于是記錄一下,能夠運(yùn)行成功并識別成功的一個(gè)源碼
    2021-08-08
  • python bluetooth藍(lán)牙信息獲取藍(lán)牙設(shè)備類型的方法

    python bluetooth藍(lán)牙信息獲取藍(lán)牙設(shè)備類型的方法

    這篇文章主要介紹了python bluetooth藍(lán)牙信息獲取藍(lán)牙設(shè)備類型的方法,具體轉(zhuǎn)化方法文中給大家介紹的非常詳細(xì),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11

最新評論

五大连池市| 达日县| 永丰县| 沁源县| 湖南省| 松潘县| 泗水县| 遂昌县| 湄潭县| 彰武县| 林周县| 灵璧县| 楚雄市| 金塔县| 建德市| 孝昌县| 额济纳旗| 任丘市| 安塞县| 邮箱| 鹤壁市| 赫章县| 年辖:市辖区| 惠东县| 日土县| 黄大仙区| 伊春市| 古田县| 岱山县| 色达县| 九龙县| 焦作市| 普兰店市| 垣曲县| 崇文区| 潞西市| 奉化市| 滨海县| 绿春县| 凤阳县| 金塔县|