分布式全文检索引擎之ElasticSearch
生活随笔
收集整理的這篇文章主要介紹了
分布式全文检索引擎之ElasticSearch
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一 什么是 ElasticSearch
Elasticsearch 是一個分布式可擴(kuò)展的實(shí)時搜索和分析引擎,一個建立在全文搜索引擎 Apache Lucene(TM) 基礎(chǔ)上的搜索引擎.當(dāng)然 Elasticsearch 并不僅僅是 Lucene 那么簡單,它不僅包括了全文搜索功能,還可以進(jìn)行以下工作:
- 分布式實(shí)時文件存儲,并將每一個字段都編入索引,使其可以被搜索。
- 可實(shí)現(xiàn)億級數(shù)據(jù)實(shí)時查詢
- 實(shí)時分析的分布式搜索引擎。
- 可以擴(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 -*- # Author : liuqingzhengfrom elasticsearch import Elasticsearchobj = Elasticsearch() # 創(chuàng)建索引(Index) result = obj.indices.create(index='user', body={"userid":'1','username':'lqz'},ignore=400) # print(result) # 刪除索引 # result = obj.indices.delete(index='user', ignore=[400, 404]) # 插入數(shù)據(jù) # data = {'userid': '1', 'username': 'lqz','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'])?
轉(zhuǎn)載于:https://www.cnblogs.com/liuqingzheng/p/10150137.html
總結(jié)
以上是生活随笔為你收集整理的分布式全文检索引擎之ElasticSearch的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 榕树贷款上征信吗?
- 下一篇: 7-36 旅游规划 (25 分(Dijk