ElasticSearch
安装elasticsearch
官网:elastic.co
https://www.elastic.co/cn/downloads/elasticsearch
官网下载巨慢,翻墙下载
目录

启动,访问9200:

访问9200接口:

安装elasticsearch-head:
git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start
存在一个9200和9100的跨域问题!
点击链接,报跨域的错!

修改elasticsearch中config下的yaml配置文件,修改:

重启,连接成功:

把索引当做一个数据库!可以建立索引(库),文档(库中的数据!)

后面所有的查询,查询功能在Kibana中做!
了解ELK

安装Kibana

好处:ELK基本上都是拆箱即用
启动测试:点bin下的kibana

默认的kibana端口为5601
PS:注意elasticsearch和kibana的版本必须一致 否则出错!
开发工具:(Post curl head 谷歌浏览器插件测试)
汉化,修改kibana yaml中配置 重启,
ES核心概念
- 索引
- 字段类型(mapping)
- 文档(documents)
概述:
集群、节点、索引、类型、文档、分片、映射是什么?
elasticsearch是面向文档,关系型数据库和elasticsearch 客观的对比如下,一切都是JSON!


类型示例:


IK分词器

安装https://github.com/medcl/elasticsearch-analysis-ik/releases
放在elasticsearch的plugin(插件)下
重启观察ES

关于elasticsearch中的命令 如elasticsearch-plugin:
命令行输入:
1 | elasticsearch-plugin list |
在kibana中测分词器:

我们输入 超级喜欢狂神或java
发现问题:狂神说被拆开了!
这种自己需要的词,需要自己加到我们的分词器字典中!
向ik分词器增加自己的配置


重启es、kibana

再次测试一下狂神说,看下效果!ik_max_word最细粒度划分


以后自定义dic、导入即可!
索引引擎里面最重要的首先就是分词
Rest风格说明
一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制!

基础测试
- 创建一个索引!也是在kibana终端中试用版PUT命令
1 | PUT /test1/type1/1{ |

完成了自动增加索引!数据也成功的添加了,这就是可以当做数据库看的原因。。
那么name字段用不用指定类型呢?毕竟我们关系型数据库 是需要指定类型的啊!
- 字符串类型 text、keyword
- 数值类型 long、integer、short、byte、double、float、scaled float
- 日期类型date
- te布尔值类型boolean
- 二进制类型binary
- 等等。。。
指定字段的类型——创建规则


GET命令得到库的信息:


- 查看默认的信息
通过命令get _cat/可以获得es当前的很多信息!

修改 提交还是使用PUT即可!然后覆盖!最新办法
曾经的办法:

现在的方法 使用POST:

删除索引——DELETE
通过DELETE命令实现删除、根据你的请求来判断是删除索引还是删除文档记录!
使用RESTFUL风格是我们ES推荐大家使用的!




