ES存储数据的地方。文档集合
(索引命名:英文数字不能包含下划线)
一个索引对应一个映射。映射表示存储数据的格式:(类似于Mysql中的数据表形式)映射又指定了数据文档的格式。
索引中指定了映射(文档的格式)
索引是文档的集合
一种type就是一类表。比如用户表,角色表
ES7.x默认type为_doc
指定了文档的格式
定义每个字段的类型,字段所使用的分词器,相当于关系数据库的表结构
ES数据最小单元,常以json格式显示。一个document相当于关系型数据库的一行数据
一个倒排索引由文档中所有不重复的词列表构成。
对于其中每个词,对应一个包含它的文档id列表
两种方式操作ES
这里先直接展示结果
上面通过postman进行测试,发现是没问题的
kibana有着更好的结构和提示
boolean
基本上不用
binary
数组:[]
对象:{}
当然内部的属性名称不是固定的
根据上图发现四种请求方式
索引中指定了映射(文档的格式)
索引是文档的集合
分词器:将一段文本,按照一定逻辑,分析成多个词语。
(比如:华为手机:华为,手,手机)
ElasticSearch内置多个分词器
ElasticSearch内置的分词器对中文不是很友好(中文按照一个一个的拆分),所以我们接下来会介绍IK分词器
ElasticSearch要使用ik,就要构建ik的jar包,这里要用到maven包管理工具,而maven需要java环境。
Elastic内置JDK,所以将JAVA_HOME设置为ElasticSearch内置的jdk
进入vim编辑器 vim /etc/profile 文件的末尾添加 export JAVA_HOME=/usr/src/elasticsearch-7.4.0/jdk export PATH=$PATH:${JAVA_HOME}/bin 保存后 重新加载该文件 source /etc/profile
解压maven安装包
配置文件地内容
下载IK对应自己地ElasticSearch版本
wget https://github.com/medcl/elasticsearch-analysis-ik/archive/v7.4.0.zip
由于治理是zip不是gz包,所以使用unzio命令进行解压
切换到 cd 解压后地目录 maven进行打包 mvn package
package执行完毕后会在当前目录下生成
/target/releases目录
该目录中存在一个压缩文件。
下面就是操作该文件即可
视频地解释操作在这里
加载日志可以发现加载进入了Ik插件
有关于日志异常可以不用去管
存在两种模式
这里的操作性很多。
使用Kibana进行发送命令,更加友好,有着提示等功能
如果添加文档时候带入了,映射没有指定的数据
会进行动态的生成映射。但是还是不值得推荐这么写
查询的条件字符串和词条完全匹配
会将差选条件进行分词查询。
再去查询出现的交集
这两个查询需要在多个示例中找到规律。不过看意思也是能感觉出来的。
只是这里我没有展示很多的示例图