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

open http://localhost:9100/

存在一个9200和9100的跨域问题!

点击链接,报跨域的错!

在这里插入图片描述

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

在这里插入图片描述

重启,连接成功:

在这里插入图片描述

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

在这里插入图片描述
后面所有的查询,查询功能在Kibana中做!

了解ELK

在这里插入图片描述

安装Kibana

在这里插入图片描述

好处:ELK基本上都是拆箱即用

启动测试:点bin下的kibana

在这里插入图片描述

默认的kibana端口为5601

PS:注意elasticsearch和kibana的版本必须一致 否则出错!

开发工具:(Post curl head 谷歌浏览器插件测试)

汉化,修改kibana yaml中配置 重启,

ES核心概念

  1. 索引
  2. 字段类型(mapping)
  3. 文档(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风格说明

一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制!

在这里插入图片描述

基础测试

  1. 创建一个索引!也是在kibana终端中试用版PUT命令
1
2
3
4
PUT /test1/type1/1{  
"name": "狂神说",
"age": "3"
}

在这里插入图片描述
完成了自动增加索引!数据也成功的添加了,这就是可以当做数据库看的原因。。

  1. 那么name字段用不用指定类型呢?毕竟我们关系型数据库 是需要指定类型的啊!

    • 字符串类型 text、keyword
    • 数值类型 long、integer、short、byte、double、float、scaled float
    • 日期类型date
    • te布尔值类型boolean
    • 二进制类型binary
    • 等等。。。
  2. 指定字段的类型——创建规则


GET命令得到库的信息:


  1. 查看默认的信息

通过命令get _cat/可以获得es当前的很多信息!
在这里插入图片描述
在这里插入图片描述

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

曾经的办法:

在这里插入图片描述

现在的方法 使用POST:

在这里插入图片描述

删除索引——DELETE
在这里插入图片描述

通过DELETE命令实现删除、根据你的请求来判断是删除索引还是删除文档记录!

使用RESTFUL风格是我们ES推荐大家使用的!