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版本一致:
<code>wget https://artifacts.elastic.co/downloads/kibana/kibana-6.1.0-linux-x86_64.tar.gz/<code>
解压:
<code>tar -zxvf kibana-6.1.0-linux-x86_64.tar.gz -C 目录/<code>
解压之后需要稍微修改下配置文件,配置文件里面很多配置,现在只是为了简单操作,所以先简单配置一下,其他的配置的意思以后再说: vi config/kibana.yml
<code> # 服务地址 和端口
server.host: "172.17.0.11"
server.port: 5601
# ElasticSearch的地址
elasticsearch.url: "http://172.17.0.11:9200"/<code>
改好之后启动: bin/kibana启动之后就可以在 浏览器里面输入ip和端口号就可以访问了
Dev Tools 提供的可以操作数据的工具
例如创建一个索引:
<code>PUT demo/demo1/1
{
"name":"xiao ming",
"age":20,
"describe":"zhe这是一个测试测试一个这是"
}/<code>
get 查询一下:
总算好了 ┭┮﹏┭┮ 看下ElasticSearch-header里面也有了
参考:
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
閱讀更多 浩渺煙波 的文章