千家信息网

安装和使用 Elasticsearch

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,安装和使用 ElasticsearchElasticsearch 是开源搜索平台的新成员,实时数据分析的神器,发展迅猛,基于 Lucene、RESTful、分布式、面向云计算设计、实时搜索、全文搜索、
千家信息网最后更新 2026年11月01日安装和使用 Elasticsearch

安装和使用 Elasticsearch

Elasticsearch 是开源搜索平台的新成员,实时数据分析的神器,发展迅猛,基于 Lucene、RESTful、分布式、面向云计算设计、实时搜索、全文搜索、稳定、高可靠、可扩展、安装+使用方便,介绍都说的很好听,好不好用拿出来遛一遛。

做了个简单测试,在两台完全一样的虚拟机上,2000万条左右数据,Elasticsearch 插入数据速度比 MongoDB 慢很多(可以忍受),但是搜索/查询速度快10倍以上,这只是单机情况,多机集群情况下 Elasticsearch 表现更好一些。以下安装步骤在 Ubuntu Server14.04 LTS 上完成。

安装 Elasticsearch

升级系统后安装 Oracle Java 7,既然 Elasticsearch 官方推荐使用 Oracle JDK 7 就不要尝试 JDK 8 和 OpenJDK 了:

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get installsoftware-properties-common

$ sudo add-apt-repositoryppa:webupd8team/java

$ sudo apt-get update

$ sudo apt-get installoracle-java7-installer

加入 Elasticsearch 官方源后安装 elasticsearch:

$ wget -O -http://packages.elasticsearch.org/GPG-KEY-elasticsearch | apt-key add -

$ sudo echo "debhttp://packages.elasticsearch.org/elasticsearch/1.1/debian stable main">> /etc/apt/sources.list

$ sudo apt-get update

$ sudo apt-get install elasticsearch

加入到系统启动文件并启动elasticsearch 服务,用 curl 测试一下安装是否成功:

$ sudo update-rc.d elasticsearch defaults95 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/ 就可以看到界面:

$ sudo/usr/share/elasticsearch/bin/plugin -i elasticsearch/marvel/latest

$ sudo /etc/init.d/elasticsearch restart

*Stopping Elasticsearch Server [ OK]

*Starting Elasticsearch Server [ OK]


安装 Python 客户端驱动

和 MongoDB 一样,我们一般用程序和 Elasticsearch交互,Elasticsearch 也支持多种语言的客户端驱动,这里仅安装 Python 驱动,其他语言可以参考官方文档。

$ sudo apt-get install python-pip

$ sudo pip install elasticsearch

写个简单程序把 gene_info.txt 的数据导入到 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 是一个功能强大的数据显示客户端,通过插件方式和 Elasticsearch 集成在一起,安装很容易,下载解压就可以了,然后重启 Elasticsearch 服务访问http://192.168.2.172:9200/_plugin/kibana/ 就能看到界面:

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


数据 搜索 官方 客户 客户端 界面 服务 驱动 实时 情况 程序 系统 语言 速度 集群 测试 好听 强大 成功 万条 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网与科技 深圳恒合互联网络科技有限公司 互联网科技小贷 互联网高科技企业 科技互联网创业计划书 中国最先进互联网科技公司 剑昆互联网络科技有限公司临桂 互联网金融科技公司干啥的 重庆互联网医院沙龙医盟信息科技 健康食品互联网创新科技园项目 群盈汇互联网科技有限公司 华中科技大学互联网的牛人 互联网方面的科技前沿 小米互联网科技园入驻 上海钢联属于互联网科技股吗 江苏互联网智能科技软件 互联网安防科技感 互联网与数字科技关系 重庆科技产业互联网有哪些 六子台科技互联网展会 互联网科技财经 互联网 卓越科技 互联网科技博主是什么意思 温州喔噻互联网科技有限公司 福州新华互联网科技学校 知乎 互联网系的金融科技公司 金融科技与互联网金融相同和不同 广州燕处互联网科技有限公司 河南商务圈互联网科技有限公司 平安好医生打造互联网科技医疗
0