最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

安裝ElasticSearch搜索工具并配置Python驅(qū)動(dòng)的方法

 更新時(shí)間:2015年12月22日 15:01:02   投稿:goldensun  
這篇文章主要介紹了安裝ElasticSearch搜索工具并配置Python驅(qū)動(dòng)的方法,文中還介紹了其與Kibana數(shù)據(jù)顯示客戶(hù)端的配合使用,需要的朋友可以參考下

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

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

$ 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:

$ 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

加入到系統(tǒng)啟動(dòng)文件并啟動(dòng) elasticsearch 服務(wù),用 curl 測(cè)試一下安裝是否成功:

$ 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 的集群和數(shù)據(jù)管理界面 Marvel 非常贊,可惜只對(duì)開(kāi)發(fā)環(huán)境免費(fèi),如果這個(gè)工具也免費(fèi)就無(wú)敵了,安裝很簡(jiǎn)單,完成后重啟服務(wù)訪問(wèn) http://192.168.2.172:9200/_plugin/marvel/ 就可以看到界面:

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

20151222145816902.png (550×473)

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

$ sudo apt-get install python-pip
$ sudo pip install elasticsearch

寫(xiě)個(gè)簡(jiǎn)單程序把 gene_info.txt 的數(shù)據(jù)導(dǎo)入到 Elasticsearch:

#!/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 是一個(gè)功能強(qiáng)大的數(shù)據(jù)顯示客戶(hù)端,通過(guò)插件方式和 Elasticsearch 集成在一起,安裝很容易,下載解壓就可以了,然后重啟 Elasticsearch 服務(wù)訪問(wèn) http://192.168.2.172:9200/_plugin/kibana/ 就能看到界面:

$ 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

20151222145853839.png (550×473)

相關(guān)文章

  • 如何安裝多版本python python2和python3共存以及pip共存

    如何安裝多版本python python2和python3共存以及pip共存

    這篇文章主要為大家詳細(xì)介紹了python多版本的安裝方法,解決python2和python3共存以及pip共存問(wèn)題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • pytest中文文檔之編寫(xiě)斷言

    pytest中文文檔之編寫(xiě)斷言

    這篇文章主要給大家介紹了關(guān)于pytest中文文檔之編寫(xiě)斷言的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用pytest具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • media配置及把用戶(hù)頭像從數(shù)據(jù)庫(kù)展示到前端的操作方法

    media配置及把用戶(hù)頭像從數(shù)據(jù)庫(kù)展示到前端的操作方法

    media配置可以讓用戶(hù)上傳的所有文件都固定的存放在某一個(gè)指定的文件夾下,接下來(lái)通過(guò)本文給大家介紹下media配置及把用戶(hù)頭像從數(shù)據(jù)庫(kù)展示到前端的操作,需要的朋友可以參考下
    2022-09-09
  • Python調(diào)試代碼的高效方法分享

    Python調(diào)試代碼的高效方法分享

    寫(xiě)代碼最讓人抓狂的,不是邏輯想不明白,而是代碼跑起來(lái)——直接爆炸,所以本文小編給大家介紹如何快速找出 Bug,并解決它們,感興趣的小伙伴跟著小編一起來(lái)看看吧
    2025-04-04
  • django啟動(dòng)uwsgi報(bào)錯(cuò)的解決方法

    django啟動(dòng)uwsgi報(bào)錯(cuò)的解決方法

    這篇文章主要給大家介紹了關(guān)于django啟動(dòng)uwsgi報(bào)錯(cuò)的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • 詳解分布式系統(tǒng)中如何用python實(shí)現(xiàn)Paxos

    詳解分布式系統(tǒng)中如何用python實(shí)現(xiàn)Paxos

    提到分布式算法,就不得不提 Paxos 算法,在過(guò)去幾十年里,它基本上是分布式共識(shí)的代 名詞,因?yàn)楫?dāng)前最常用的一批共識(shí)算法都是基于它改進(jìn)的。比如,F(xiàn)ast Paxos 算法、 Cheap Paxos 算法、Raft 算法、ZAB 協(xié)議等等。
    2021-05-05
  • pycharm 的Structure界面設(shè)置操作

    pycharm 的Structure界面設(shè)置操作

    這篇文章主要介紹了pycharm 的Structure界面設(shè)置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • Python+opencv+pyaudio實(shí)現(xiàn)帶聲音屏幕錄制

    Python+opencv+pyaudio實(shí)現(xiàn)帶聲音屏幕錄制

    今天小編就為大家分享一篇Python+opencv+pyaudio實(shí)現(xiàn)帶聲音屏幕錄制,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python 使用folium繪制leaflet地圖的實(shí)現(xiàn)方法

    Python 使用folium繪制leaflet地圖的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇Python 使用folium繪制leaflet地圖的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python 降級(jí)的兩種實(shí)現(xiàn)方法

    Python 降級(jí)的兩種實(shí)現(xiàn)方法

    本文主要介紹了Python 降級(jí)的兩種實(shí)現(xiàn)方法,幫助用戶(hù)在降級(jí)Python時(shí)不完全卸載,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12

最新評(píng)論

城口县| 西贡区| 沙洋县| 泗水县| 正安县| 潞西市| 穆棱市| 东莞市| 阳高县| 海淀区| 浙江省| 岚皋县| 尼勒克县| 鹤山市| 凯里市| 富宁县| 临洮县| 桐庐县| 古丈县| 宝兴县| 邳州市| 亳州市| 修水县| 泰安市| 云梦县| 安宁市| 贺州市| 西充县| 石嘴山市| 兰坪| 吉首市| 祁阳县| 寿光市| 阳谷县| 饶阳县| 云林县| 灵石县| 道孚县| 扶沟县| 壤塘县| 响水县|