首页 > IT职业 > IT职场 > Elasticsearch の 初体验|一文了解她

请输入图片描述
A Distributed RESTful Search Engine
它能让你以一个之前从未有过的速度和规模,去探索你的数据
"A Distributed RESTful Search Engine" 翻译过来就是一个分布式Restful搜索引擎,这句话基本能大致概括Elasticsearch。
如果稍微详细一点呢:
搜索引擎
首先,它是一个搜索引擎:Elastic 的底层是开源库 Lucene,Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库
使用简单
它使全文检索变得简单,通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API,用户可以使用curl(get put post delete方法)来操作数据,同时可以很轻松的使用各种语言的客户端封装库来操作数据(Elastic使用json作为数据载体,所以你完全可以使用http+json库来封装客户端来访问Elasticsearch服务)
分布式
一个分布式实时分析搜索引擎,分布式意味着计算更快,存储容量更大:能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据

请输入图片描述
Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例。
单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。
Elastic 会索引所有字段,经过处理后写入一个反向索引(Inverted Index)。查找数据的时候,直接查找该索引。
所以,Elastic 数据管理的顶层单位就叫做 Index(索引)。它是单个数据库的同义词。每个 Index (即数据库)的名字必须是小写。
可以理解为java中的class,标识一中类型,每个类型中有相应的字段。
Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。可以理解为上面type的实例化,一个类型下面有很多document对象。
document使用json格式表示,例如如下:
{ "id": 0, "title": "elasticsearch教程", "content": "这是一篇关于elasticsearch的教程,******", "url":"http://kooola.com/article/elasticsearch-install"}
下载安装
$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.1.zip $ unzip elasticsearch-5.5.1.zip $ cd elasticsearch-5.5.1/
运行
./bin/elasticsearch
此时运行可能报如下错误(报错原因是elasticsearch考虑安全问题默认不允许root用户运行):
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
解决方法:创建linux新用户,使用新用户运行elasticsearch
创建用户组与用户
groupadd elasticsearch useradd elasticsearch -g elasticsearch -p 123456
设置文件夹、文件所属
chown -R elasticsearch:elasticsearch elasticsearch
切换用户再运行elasticsearch
su elsearch ./elasticsearch
Tips:安装运行elasticsearch前请确保java版本是1.8及以上,不然会报如下错误
Error: Could not find or load main class org.elasticsearch.tools.JavaVersionCheckerElasticsearch requires at least Java 8 but your Java version from **** does not meet this requirement
注意:这里最好把elasticsearch的目录放到用户目录下(也就是放到/home/elasticsearch),不然可能报错
打开浏览器,输入http://localhost:9200,能看到类似如下信息则表明elasticsearch服务启动成功
{ "name" : "11IPkfD", "cluster_name" : "elasticsearch", "cluster_uuid" : "k3fSrdjvSCSpUr42iZ2jHw", "version" : { "number" : "5.5.1", "build_hash" : "19c13d0", "build_date" : "2017-07-18T20:44:24.823Z", "build_snapshot" : false, "lucene_version" : "6.6.0"
}, "tagline" : "You Know, for Search"}
作者:Kooola大数据
链接:https://www.jianshu.com/p/b6779fc715a9
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3168/viewspace-2817362/ ,如需转载,请注明出处,否则将追究法律责任。