亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

一、介紹

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

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

二、安裝

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

# 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

在兼容的大的版本號(hào)下盡量選擇最新的版本。

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是新特性,未來可能會(huì)改變,所以要注意。

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)選擇本地連接,只有當(dāng)本地node都無法連接是才會(huì)去選擇連接其他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)的高級(jí)特性,否則建議不要使用該類。

3.6 helpers

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

3.6.1 bulk helpers

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

3.6.2 scan

scan是對(duì)scroll API的簡(jiǎn)單抽象。

3.6.3 reindex

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

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

相關(guān)文章

  • 簡(jiǎn)單介紹Python中的readline()方法的使用

    簡(jiǎn)單介紹Python中的readline()方法的使用

    這篇文章主要介紹了簡(jiǎn)單介紹Python中的readline()方法的使用,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃算法的示例代碼

    python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃算法的示例代碼

    本文主要介紹了python實(shí)現(xiàn)動(dòng)態(tài)規(guī)劃算法的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python報(bào)錯(cuò):NameError:?name?‘xxx‘?is?not?defined的解決辦法

    Python報(bào)錯(cuò):NameError:?name?‘xxx‘?is?not?defined的解決辦法

    這篇文章主要給大家介紹了關(guān)于Python報(bào)錯(cuò):NameError:?name?‘xxx‘?is?not?defined的解決辦法,文中通過代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-06-06
  • 關(guān)于Pycharm亂碼解決大全

    關(guān)于Pycharm亂碼解決大全

    這篇文章主要介紹了關(guān)于Pycharm亂碼解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • linux安裝python修改默認(rèn)python版本方法

    linux安裝python修改默認(rèn)python版本方法

    在本文中我們給大家總結(jié)了關(guān)于linux安裝python修改默認(rèn)python版本的方法和相關(guān)知識(shí)點(diǎn),需要的讀者們參考下。
    2019-03-03
  • python實(shí)現(xiàn)汽車管理系統(tǒng)

    python實(shí)現(xiàn)汽車管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)汽車管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • 13個(gè)最常用的Python深度學(xué)習(xí)庫介紹

    13個(gè)最常用的Python深度學(xué)習(xí)庫介紹

    這篇文章主要介紹了13個(gè)最常用的Python深度學(xué)習(xí)庫介紹,具有一定參考價(jià)值,需要的朋友可以參考下。
    2017-10-10
  • 自學(xué)python用什么系統(tǒng)好

    自學(xué)python用什么系統(tǒng)好

    在本篇文章里小編給大家整理了一篇關(guān)于學(xué)python用什么系統(tǒng)好的相關(guān)文章,有興趣的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • 關(guān)于Python中的元組介紹

    關(guān)于Python中的元組介紹

    大家好,本篇文章主要講的是關(guān)于Python中的元組介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python知識(shí)點(diǎn)詳解之正則表達(dá)式語法

    Python知識(shí)點(diǎn)詳解之正則表達(dá)式語法

    正則表達(dá)式在搜索大型文本、電子郵件和文檔時(shí)非常有用,正則表達(dá)式也稱為"用于字符串匹配的編程語言",下面這篇文章主要給大家介紹了關(guān)于Python知識(shí)點(diǎn)之正則表達(dá)式語法的相關(guān)資料,需要的朋友可以參考下
    2022-05-05

最新評(píng)論