一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - 安裝ElasticSearch搜索工具并配置Python驅動的方法

安裝ElasticSearch搜索工具并配置Python驅動的方法

2020-08-04 12:00Python教程網 Python

這篇文章主要介紹了安裝ElasticSearch搜索工具并配置Python驅動的方法,文中還介紹了其與Kibana數據顯示客戶端的配合使用,需要的朋友可以參考下

ElasticSearch是一個基于Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發的,并作為Apache許可條款下的開放源碼發布,是第二流行的企業搜索引擎。設計用于云計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。
我們建立一個網站或應用程序,并要添加搜索功能,令我們受打擊的是:搜索工作是很難的。我們希望我們的搜索解決方案要快,我們希望有一個零配置和一個完全免費的搜索模式,我們希望能夠簡單地使用JSON通過HTTP的索引數據,我們希望我們的搜索服務器始終可用,我們希望能夠一臺開始并擴展到數百,我們要實時搜索,我們要簡單的多租戶,我們希望建立一個云的解決方案。Elasticsearch旨在解決所有這些問題和更多的問題。
Elasticsearch 是開源搜索平臺的新成員,實時數據分析的神器,發展迅猛,基于 Lucene、RESTful、分布式、面向云計算設計、實時搜索、全文搜索、穩定、高可靠、可擴展、安裝+使用方便,介紹都說的很好聽,好不好用拿出來遛一遛。
做了個簡單測試,在兩臺完全一樣的虛擬機上,2000萬條左右數據,Elasticsearch 插入數據速度比 MongoDB 慢很多(可以忍受),但是搜索/查詢速度快10倍以上,這只是單機情況,多機集群情況下 Elasticsearch 表現更好一些。以下安裝步驟在 Ubuntu Server 14.04 LTS 上完成。

安裝 Elasticsearch
升級系統后安裝 Oracle Java 7,既然 Elasticsearch 官方推薦使用 Oracle JDK 7 就不要嘗試 JDK 8 和 OpenJDK 了:

?
1
2
3
4
5
6
7
8
$ sudo apt-get update
$ sudo apt-get upgrade
 
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
 
$ sudo apt-get install oracle-java7-installer

加入 Elasticsearch 官方源后安裝 elasticsearch:

?
1
2
3
4
5
$ wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | apt-key add -
$ sudo echo "deb http://packages.elasticsearch.org/elasticsearch/1.1/debian stable main" >> /etc/apt/sources.list
 
$ sudo apt-get update
$ sudo apt-get install elasticsearch

加入到系統啟動文件并啟動 elasticsearch 服務,用 curl 測試一下安裝是否成功:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ sudo update-rc.d elasticsearch defaults 95 1
 
$ sudo /etc/init.d/elasticsearch start
 
$ curl -X GET 'http://localhost:9200'
{
 "status" : 200,
 "name" : "Fer-de-Lance",
 "version" : {
  "number" : "1.1.1",
  "build_hash" : "f1585f096d3f3985e73456debdc1a0745f512bbc",
  "build_timestamp" : "2014-04-16T14:27:12Z",
  "build_snapshot" : false,
  "lucene_version" : "4.7"
 },
 "tagline" : "You Know, for Search"
}

Elasticsearch 的集群和數據管理界面 Marvel 非常贊,可惜只對開發環境免費,如果這個工具也免費就無敵了,安裝很簡單,完成后重啟服務訪問 http://192.168.2.172:9200/_plugin/marvel/ 就可以看到界面:

?
1
2
3
4
5
$ sudo /usr/share/elasticsearch/bin/plugin -i elasticsearch/marvel/latest
 
$ sudo /etc/init.d/elasticsearch restart
 * Stopping Elasticsearch Server                      [ OK ]
 * Starting Elasticsearch Server                      [ OK ]

安裝ElasticSearch搜索工具并配置Python驅動的方法

 

安裝 Python 客戶端驅動
和 MongoDB 一樣,我們一般用程序和 Elasticsearch 交互,Elasticsearch 也支持多種語言的客戶端驅動,這里僅安裝 Python 驅動,其他語言可以參考官方文檔。

?
1
2
$ sudo apt-get install python-pip
$ sudo pip install elasticsearch

寫個簡單程序把 gene_info.txt 的數據導入到 Elasticsearch:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
import os, os.path, sys, re
import csv, time, string
from datetime import datetime
from elasticsearch import Elasticsearch
 
def import_to_db():
  data = csv.reader(open('gene_info.txt', 'rb'), delimiter='\t')
  data.next()
 
  es = Elasticsearch()
  for row in data:
    doc = {
      'tax_id': row[0],
      'GeneID': row[1],
      'Symbol': row[2],
      'LocusTag': row[3],
      'Synonyms': row[4],
      'dbXrefs': row[5],
      'chromosome': row[6],
      'map_location': row[7],
      'description': row[8],
      'type_of_gene': row[9],
      'Symbol_from_nomenclature_authority': row[10],
      'Full_name_from_nomenclature_authority': row[11],
      'Nomenclature_status': row[12],
      'Other_designations': row[13],
      'Modification_date': row[14]
    }
    res = es.index(index="gene", doc_type='gene_info', body=doc)
 
def main():
  import_to_db()
 
if __name__ == "__main__":
  main()

Kibana 是一個功能強大的數據顯示客戶端,通過插件方式和 Elasticsearch 集成在一起,安裝很容易,下載解壓就可以了,然后重啟 Elasticsearch 服務訪問 http://192.168.2.172:9200/_plugin/kibana/ 就能看到界面:

?
1
2
3
4
$ wget https://download.elasticsearch.org/kibana/kibana/kibana-3.0.1.tar.gz
$ tar zxvf kibana-3.0.1.tar.gz
$ sudo mv kibana-3.0.1 /usr/share/elasticsearch/plugins/_site
$ sudo /etc/init.d/elasticsearch restart

安裝ElasticSearch搜索工具并配置Python驅動的方法

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产yw193.㎝m在线观看 | 91视在线国内在线播放酒店 | 国产高清国内精品福利 | 91色爱 | 色戒 完整版 | 富士av105 | 久久视热频国产这里只有精品23 | 国产精品成人免费福利 | 日本小视频网站 | 日本一道本中文字幕 | bt国产 | sex5·性屋娱乐 | 午夜影院免费入口 | 国内精品福利丝袜视频_速 国内精品91久久久久 | 视频免费观看在线播放高清 | 国产成人精品视频午夜 | 国产乱子伦一区二区三区 | 67194在线免费观看 | 户外露出野战hd | 免费在线看a | 欧美性色欧美a在线播放 | 欧美一区二区三区精品影视 | 免费看欧美一级特黄a大片一 | 日韩亚洲欧美一区二区三区 | 国产女主播在线播放一区二区 | 亚洲AV精品无码喷水直播间 | 激情综合站| 国产午夜精品一区二区 | 色吊丝每日永久访问网站 | 鸥美毛片 | 亚洲欧美日韩国产一区图片 | 欧美不卡一区二区三区免 | 午夜第一页 | 欧美性理论片在线观看片免费 | 亚洲国产剧情中文视频在线 | 风间由美一区二区av101 | 99久热只有精品视频免费看 | 精品一区二区三区免费站 | 欧美日韩一区二区综合 | wc凹凸撒尿间谍女厕hd | 四虎影院免费在线 |