分布式全文檢索引擎ElasticSearch原理及使用實例
一 什么是 ElasticSearch
Elasticsearch 是一個分布式可擴(kuò)展的實時搜索和分析引擎,一個建立在全文搜索引擎 Apache Lucene(TM) 基礎(chǔ)上的搜索引擎.當(dāng)然 Elasticsearch 并不僅僅是 Lucene 那么簡單,它不僅包括了全文搜索功能,還可以進(jìn)行以下工作:
- 分布式實時文件存儲,并將每一個字段都編入索引,使其可以被搜索。
- 可實現(xiàn)億級數(shù)據(jù)實時查詢
- 實時分析的分布式搜索引擎。
- 可以擴(kuò)展到上百臺服務(wù)器,處理PB級別的結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)。
二 安裝(windows下)
注意:Elasticsearch是用Java開發(fā)的,最新版本的Elasticsearch需要安裝jdk1.8以上的環(huán)境
安裝包下載完,解壓,進(jìn)入到bin目錄,啟動 elasticsearch.bat 即可
三 python操作ElasticSearch
# -*- coding:utf-8 -*- from elasticsearch import Elasticsearch obj = Elasticsearch() # 創(chuàng)建索引(Index) result = obj.indices.create(index='user', body={"userid":'1','username':'sui'},ignore=400) # print(result) # 刪除索引 # result = obj.indices.delete(index='user', ignore=[400, 404]) # 插入數(shù)據(jù) # data = {'userid': '1', 'username': 'sui','password':'123'} # result = obj.create(index='news', doc_type='politics', id=1, body=data) # print(result) # 更新數(shù)據(jù) ''' 不用doc包裹會報錯 ActionRequestValidationException[Validation Failed: 1: script or doc is missing ''' # data ={'doc':{'userid': '1', 'username': 'lqz','password':'123ee','test':'test'}} # result = obj.update(index='news', doc_type='politics', body=data, id=1) # print(result) # 刪除數(shù)據(jù) # result = obj.delete(index='news', doc_type='politics', id=1) # 查詢 # 查找所有文檔 query = {'query': {'match_all': {}}} # 查找名字叫做jack的所有文檔 # query = {'query': {'term': {'username': 'lqz'}}} # 查找年齡大于11的所有文檔 # query = {'query': {'range': {'age': {'gt': 11}}}} allDoc = obj.search(index='news', doc_type='politics', body=query) print(allDoc['hits']['hits'][0]['_source'])
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于Python 3中print函數(shù)的換行詳解
最近在學(xué)習(xí)python3,發(fā)現(xiàn)了一個問題想著總結(jié)出來,所以下面這篇文章主要給大家介紹了關(guān)于Python 3中print函數(shù)換行的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對需要的朋友們具有一定的參考學(xué)習(xí)價值,感興趣的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08Python 實現(xiàn)的 Google 批量翻譯功能
這篇文章主要介紹了Python 實現(xiàn)的 Google 批量翻譯功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08如何實現(xiàn)在pycharm中將.ui文件轉(zhuǎn)化為.py文件
這篇文章主要介紹了如何實現(xiàn)在pycharm中將.ui文件轉(zhuǎn)化為.py文件,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-06-06Python使用scrapy采集數(shù)據(jù)過程中放回下載過大頁面的方法
這篇文章主要介紹了Python使用scrapy采集數(shù)據(jù)過程中放回下載過大頁面的方法,可實現(xiàn)限制下載過大頁面的功能,非常具有實用價值,需要的朋友可以參考下2015-04-04