Python下elasticsearch-rtf與kibana的安裝與整合
什麼是ElasticSearch ?
ElasticSearch是一個基於 Lucene 的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web 介面。Elasticsearch 是用 Java 開發的,並作為 Apache 許可條款下的開放原始碼釋出,是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。------【百度百科】
由於我們基於 Pyhton在github上有大神已經幫我們提供了資源,集成了許多資源包且安裝簡單:
1.執行環境
a.JDK8+
b.系統可用記憶體>2G
JDK要在1.8版本及以上,JDK的安裝這裡不贅述,網上教程很多也不難,要注意設定好環境變數的PATH和JAVA_HOME。
安裝後在CMD輸入 java -version 檢測是否JDK符合要求:
2. 安裝
大約兩百多M,耐心等待下載完成後解壓:
通過CMD的 cd 命令,切換到該目錄下,記得替換自己的路徑:
cd /d D:\Python\elasticsearch-rtf-master\bin
隨後輸入:
elasticsearch.bat
它會自動安裝,並將依賴包一同安裝,安裝過程中會有些卡,安裝完成後出現:
我們可以在瀏覽器中開啟,127.0.0.1:9200 訪問elasticsearch:
出現上述介面,則 elasticsearch-rtf 安裝成功。
----------------------------------------------------------------------------------------------------------------------------------------
head外掛的安裝
a.安裝nmp
b.安裝cnmp(nmp的淘寶映象,在下載依賴包的時候能更快和減少錯誤)
c.安裝elasticsearch-head外掛
a.安裝npm
下載完成後直接雙擊安裝包,安裝過程比較簡單這裡省略,安裝完成後在CMD輸入npm,如圖即為安裝成功:
b.安裝cnpm
這個的安裝就比較簡單,在安裝的npm成功後,直接在CMD中輸入:
npm install -g cnpm --registry=https://registry.npm.taobao.org
等待一會後,安裝成功:
輸入 cnpm,如圖即為成功:
c. elasticsearch-head 安裝
接下來,開始正式安裝 elasticsearch-head 外掛了。
下載後解壓:
開啟CMD,輸入:
cd /d E:\Downloads\master\elasticsearch-head-master
然後輸入:
cnpm install
它會自動下載所需的相關模組,等待安裝完成後,輸入:
cnpm run start
發現它在9100埠啟用服務,我們開啟後發現:
我們發現這裡,叢集未連線,這是由於elasticsearch預設不允許使用第三方的服務,那麼我們需要修改幾個配置。
用Notepad++開啟elasticsearch/config/elasticsearch.yml 這個檔案,用 記事本開啟之後會有奇怪的錯誤,這裡建議Notepad++:
在末尾加上:
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"
我們 Ctrl+C 先關閉 elasticsearch 服務:
然後再通過 cmd 在對應目錄下輸入elasticsearch.bat,重新啟用服務:
重新開啟 127.0.0.1:9100 ,點選連線,發現這回連線成功了:
----------------------------------------------------------------------------------------------------------------------------------------
kibana的安裝
由於我們用的是 elasticsearch-rft ,核心的ES版本是5.1.1,因此我們kibana也選擇5.1.1,記住二者版本要一致。
ES版本可以在 127.0.0.1:9200 檢視:
在 Kibana 下載頁面中,選擇 5.1.1版本下載:
依舊是下載後解壓:
依舊是CMD中輸入:
cd /d D:\Python\kibana-5.1.1-windows-x86\kibana-5.1.1-windows-x86\bin
然後輸入:
kibana.bat
開啟 127.0.0.1:5601 出現下面介面,那麼就完成了:
----------------------------------------------------------------------------------------------------------------------------------------
elasticsearch-dsl配置
最後就是將 elasticsearch 和Python整合,能通過Python完成對elasticsearch的操作,這裡我們用到了elasticsearch-dsl,
通過命令安裝,elasticsearch-dsl模組,注意版本應與之前安裝的版本一致:
pip install elasticsearch==5.1
pip install elasticsearch-dsl==5.1
開啟 Pycharm,輸入:
from elasticsearch_dsl import DocType, Date, Keyword, Text, Integer
from elasticsearch_dsl.connections import connections
connections.create_connection(hosts=["localhost"])
class TextType(DocType):
title = Text(analyzer="ik_max_word")
url = Keyword()
pubic_date = Date()
tags = Text(analyzer="ik_max_word")
content = Text(analyzer="ik_max_word")
comment_num = Integer()
class Meta:
index = "text"
doc_type = "article"
if __name__ == '__main__':
TextType.init()
執行後訪問 9100 埠,發現 text 就已經生成了。
寫入資料就比較簡單,將 該類 例項化後直接賦值, 就不細寫了,虛擬碼如下:
instance = TextTyepe()
instance.title = "A title"
instance.url = "url.com"
......
instance.save() # 將資料儲存