ElasticSearch 基本概念与操作

Elasticsearch(简称ES)是一个基于Apache Lucene™的开源搜索引擎,无论在开源还是专有领域,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

解压:

tar -zxvf kibana-6.1.0-linux-x86_64.tar.gz -C  目录

解压之后需要稍微修改下配置文件,配置文件里面很多配置,现在只是为了简单操作,所以先简单配置一下,其他的配置的意思以后再说:
vi config/kibana.yml

 # 服务地址 和端口
 server.host: "172.17.0.11"
 server.port: 5601
 # ElasticSearch的地址
 elasticsearch.url: "http://172.17.0.11:9200"

改好之后启动: bin/kibana
启动之后就可以在 浏览器里面输入ip和端口号就可以访问了
ElasticSearch 基本概念与操作_第1张图片

Dev Tools 提供的可以操作数据的工具

例如创建一个索引:

PUT demo/demo1/1
{
  "name":"xiao ming",
  "age":20,
  "describe":"zhe这是一个测试测试一个这是"
}

ElasticSearch 基本概念与操作_第2张图片

get 查询一下:
ElasticSearch 基本概念与操作_第3张图片

总算好了 ┭┮﹏┭┮
看下ElasticSearch-header里面也有了
ElasticSearch 基本概念与操作_第4张图片
ElasticSearch 基本概念与操作_第5张图片
参考:
https://www.cnblogs.com/niceyoo/p/10864783.html
https://www.jianshu.com/p/b261373088be https://www.cnblogs.com/niceyoo/p/10864783.html#https://github.com/medcl/elasticsearch-analysis-ik/tree/2.x
欢迎关注我的公众号:北风中独行的蜗牛
ElasticSearch 基本概念与操作_第6张图片

你可能感兴趣的:(ElasticSearch)