欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python?ES連接服務器的方法詳解

 更新時間:2024年10月25日 08:56:32   作者:TS86  
使用Python連接Elasticsearch服務器進行數據搜索和分析是一項常見操作,本文詳細介紹了如何使用elasticsearch-py客戶端庫連接到Elasticsearch服務器,并執(zhí)行創(chuàng)建索引、添加文檔及搜索等基本操作

連接Elasticsearch(ES)服務器是進行數據搜索和分析的常用操作。Elasticsearch是一個基于Lucene的搜索引擎,提供了RESTful API來進行索引、搜索和管理數據。

以下是一個詳細的Python代碼示例,展示如何連接到Elasticsearch服務器并執(zhí)行一些基本操作。這個示例使用了官方的elasticsearch-py客戶端庫。

1. 安裝Elasticsearch客戶端庫

首先,你需要安裝elasticsearch庫。如果你還沒有安裝,可以使用pip進行安裝:

pip install elasticsearch

2. 連接到Elasticsearch服務器

以下是一個完整的Python腳本,展示了如何連接到Elasticsearch服務器,創(chuàng)建索引,添加文檔,并進行搜索。

from elasticsearch import Elasticsearch, helpers  
# 配置Elasticsearch連接  
es = Elasticsearch(  
    ['http://localhost:9200'],  # Elasticsearch服務器地址和端口  
    http_auth=('username', 'password'),  # 如果需要認證,填寫用戶名和密碼  
    use_ssl=False,  # 如果使用HTTPS,設置為True  
    verify_certs=False  # 如果使用HTTPS且自簽名證書,設置為False  
)  
# 檢查連接是否成功  
if es.ping():  
    print("Successfully connected to Elasticsearch!")  
else:  
    print("Could not connect to Elasticsearch")  
    exit()  
# 創(chuàng)建索引  
index_name = 'my_index'  
if not es.indices.exists(index=index_name):  
    # 定義索引的映射(Schema)  
    mappings = {  
        'properties': {  
            'title': {'type': 'text'},  
            'content': {'type': 'text'},  
            'author': {'type': 'keyword'}  
        }  
    }  
    # 創(chuàng)建索引  
    es.indices.create(index=index_name, body={'mappings': mappings})  
    print(f"Index '{index_name}' created successfully.")  
else:  
    print(f"Index '{index_name}' already exists.")  
# 添加文檔  
documents = [  
    {"_id": 1, "title": "Elasticsearch Basics", "content": "Learn the basics of Elasticsearch.", "author": "John Doe"},  
    {"_id": 2, "title": "Advanced Elasticsearch", "content": "Go deeper into Elasticsearch features.", "author": "Jane Smith"},  
    {"_id": 3, "title": "Elasticsearch Performance", "content": "Optimize Elasticsearch for performance.", "author": "Alice Johnson"}  
]  
# 使用bulk API批量添加文檔  
actions = [  
    {  
        "_index": index_name,  
        "_id": doc['_id'],  
        "_source": doc  
    }  
    for doc in documents  
]  
helpers.bulk(es, actions)  
print("Documents added successfully.")  
# 搜索文檔  
search_body = {  
    "query": {  
        "match": {  
            "content": "Elasticsearch"  
        }  
    }  
}  
response = es.search(index=index_name, body=search_body)  
print("Search results:")  
for hit in response['hits']['hits']:  
    print(hit['_source'])  
# 清理(可選):刪除索引  
# es.indices.delete(index=index_name)  
# print(f"Index '{index_name}' deleted successfully.")

3.代碼解釋

  • 連接配置:
    • Elasticsearch(['http://localhost:9200']):連接到運行在本地主機上的Elasticsearch服務器,默認端口為9200。
    • http_auth=('username', 'password'):如果Elasticsearch服務器需要認證,填寫用戶名和密碼。
    • use_sslverify_certs:如果連接使用HTTPS,可以啟用這些選項。
  • 檢查連接:
    • 使用es.ping()方法檢查連接是否成功。
  • 創(chuàng)建索引:
    • 使用es.indices.exists(index=index_name)檢查索引是否存在。
    • 使用es.indices.create(index=index_name, body={'mappings': mappings})創(chuàng)建索引,并定義文檔的映射。
  • 添加文檔:
    • 使用helpers.bulk(es, actions)批量添加文檔到索引中。
  • 搜索文檔:
    • 使用es.search(index=index_name, body=search_body)進行搜索,并打印搜索結果。
  • 清理(可選):
    • 使用es.indices.delete(index=index_name)刪除索引。

4.注意事項

  • 服務器地址:確保Elasticsearch服務器正在運行,并且地址和端口配置正確。
  • 認證:如果Elasticsearch服務器需要認證,確保提供正確的用戶名和密碼。
  • SSL:如果連接使用HTTPS,請正確配置use_sslverify_certs選項。

到此這篇關于python ES連接服務器的方法的文章就介紹到這了,更多相關python ES連接服務器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python使用低通濾波器模糊圖像功能實現

    Python使用低通濾波器模糊圖像功能實現

    這篇文章主要介紹了Python使用低通濾波器模糊圖像,我們介紹了多種不同類型的濾波器核與卷積操作,使用 scipy.ndimage 模塊中的濾波器模糊圖像,利用 scipy.fftpack 模塊的 fft2() 函數實現高斯模糊,介紹了scipy.signal模塊的彩色圖像頻域卷積,需要的朋友可以參考下
    2023-03-03
  • Python的賦值、深拷貝與淺拷貝的區(qū)別詳解

    Python的賦值、深拷貝與淺拷貝的區(qū)別詳解

    這篇文章主要介紹了Python的賦值、深拷貝與淺拷貝的區(qū)別,需要的朋友可以參考下
    2020-02-02
  • pandas解決空列表問題

    pandas解決空列表問題

    本文主要介紹了Python的pandas庫中高效處理空列表的問題,包括識別、過濾、替換和聚合操作,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • python?flask項目打包成docker鏡像發(fā)布的過程

    python?flask項目打包成docker鏡像發(fā)布的過程

    這篇文章主要介紹了python?flask項目打包成docker鏡像發(fā)布,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • pytorch--之halfTensor的使用詳解

    pytorch--之halfTensor的使用詳解

    這篇文章主要介紹了pytorch--之halfTensor的使用詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python數據預處理常用的5個技巧

    Python數據預處理常用的5個技巧

    大家好,本篇文章主要講的是Python數據預處理常用的5個技巧,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • Python打印輸出數組中全部元素

    Python打印輸出數組中全部元素

    使用Python打印數組時會遇到一個問題,當打印的數組元素比較多時,會出現只打印出數組開始與結尾部分中間部分用省略省略了,下面的方法可以完美解決這個問題
    2018-03-03
  • 深入理解Python 代碼優(yōu)化詳解

    深入理解Python 代碼優(yōu)化詳解

    本文初步探討了 python 常見的性能優(yōu)化技巧以及如何借助工具來定位和分析程序的性能瓶頸,并提供了相關可以進行性能優(yōu)化的工具或語言,希望能夠更相關人員一些參考。
    2014-10-10
  • Python使用FastAPI制作一個視頻流媒體平臺

    Python使用FastAPI制作一個視頻流媒體平臺

    在構建視頻流媒體平臺時,用戶認證與視頻上傳是兩個至關重要的功能,FastAPI作為一個高效的Web框架,可以輕松處理這些需求,下面我們看看具體實現方法吧
    2025-04-04
  • 基于python實現cdn日志文件導入mysql進行分析

    基于python實現cdn日志文件導入mysql進行分析

    這篇文章主要介紹了基于python實現cdn日志文件導入mysql進行分析,本文以阿里云CDN日志作為輔助查詢數據展開主題內容,其它云平臺大同小異,需要的小伙伴可以參考一下
    2022-05-05

最新評論