ElasticSearch 基本概念与操作
Elasticsearch(简称ES)是一个基于Apache Lucene(TM)的开源搜索引擎,无论在开源还是专有领域,Lucene 可以被认为是迄今为止先进、性能好的、功能全的搜索引擎库。注意,Lucene 只是一个库。想要发挥其强大的作用,你需使用 Java 并要将其集成到你的应用中。
Lucene 非常复杂,你需要深入的了解检索相关知识来理解它是如何工作的,就跟学习 springmvc 之前先从 servlet 开始,繁琐复杂的工作,Solor、Elasticsearch 应由而生, 其使用 Java 编写并使用 Lucene 来建立索引并实现搜索功能,但是它的目的是通过简单连贯的 RESTful API 让全文搜索变得简单并隐藏 Lucene 的复杂性。
index(索引):动词表示建立索引,名词表示建立好的索引文件。索引是具有某些类似特征的文档集合,类似数据库的概念。索引由一个全小写的名称标示,对数据的增删改搜索等都需要指定索引名称。
type(类型) 6之前的版本还有一个类型的概念,这个是介于文档和索引之间的概念,每一个索引下可以建立多个类型,文档的建立需要指定文档和类型。 6之后单个索引只有一个类型,7以后不建议使用,8之后就废弃了。
document(文档) 文档是构建索引的基本单元,文档以json各式表示,存储基本数据
Shard and Replicas (分片和副本) 一个索引可以存储大量的数据,甚至超过单个节点的磁盘存储空间。为了解决这个问题,ES提供了将当个索引分割成多个分片的功能,创建索引时,可以指定任意数量的分片。每个分片都是一个功能齐全且独立的“index”,且可以被托管到集群中的任意节点上。分片既提供了容量水平扩展的能力,多个分片允许分布式并发操作,也大大提高了性能。副本是为了容错机制,不然一个机器故障了,没有备份岂不是就尴尬了。
操作一下ElasticSearch,首先安装一下Kibana:
Kibana 是一个基于 Node.js 的 Elasticsearch 索引库数据统计工具,可以利用 Elasticsearch 的聚合功能,生成各种图表,如柱形图,线状图,饼图等。
而且还提供了操作 Elasticsearch 索引数据的控制台,并且提供了一定的API提示,非常有利于我们学习 Elasticsearch 的语法。
下载Kibana,下载的Kibana要和你的ElasticSearch版本一致:
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.1.0-linux-x86_64.tar.gz
相关文章