1. ElasticSearch概述
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020090917111970.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909171530181.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
2. ES与Solr的差别
2.1. Solr简介
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909172717254.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
2.2. Lucene简介
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909172848939.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
2.3. ES VS Solr
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909173431643.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
3. ElasticSearch 安装
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909173851629.png#pic_center)
官网
ElasticSearch: https://mirrors.huaweicloud.com/elasticsearch/?C=N&O=D logstash: https://mirrors.huaweicloud.com/logstash/?C=N&O=D kibana: https://mirrors.huaweicloud.com/kibana/?C=N&O=D
认识目录
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909180913899.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
测试访问
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909181424754.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020090918274551.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
这个,没有测试,等后期回来再看!head的插件
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210201142313582.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70)
4. Kibana安装
开箱即用
配置文件
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.1.30:9201"]
kibana.index: ".kibana"
i18n.locale: "zh-CN" # 中文汉化
访问测试
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909190146731.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
5. ES核心概念
索引字段类型(mapping)文档(document)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909192956336.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/202009091931291.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909193601700.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020090919370995.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909193900932.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909193947555.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200909194207851.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
6. IK分词器
下载链接解压放入到es对应的plugins下即可重启观察ES,发现ik插件被加载了
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020091009234593.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
也可以通过bin目录下elasticsearch-plugin list 查看已经加载的插件 使用kibana测试
ik_smart: 最少切分![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910100025320.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
ik_max_word为最细粒度划分!穷尽词库的可能, 字典!![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910100206747.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center) ik分词器增加自己的配置!
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910101747942.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
重启ES 和 Kibana
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910101410113.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910101948607.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
7. Restful风格说明
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910102407169.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
基础测试
创建一个索引!
PUT /索引名/~类型名~/文档id
{请求体}
# PUT 创建命令 test1 索引 type1 类型 1 id
PUT test1/type1/1
{
"name": "xiaofan",
"age": 28
}
# 返回结果
# 警告信息: 不支持在文档索引请求中的指定类型
# 而是使用无类型的断点(/{index}/_doc/{id}, /{index}/_doc, or /{index}/_create/{id}).
{
"_index" : "test1", # 索引
"_type" : "type1", # 类型(已经废弃)
"_id" : "1", # id
"_version" : 1, # 版本
"result" : "created", # 操作类型
"_shards" : { # 分片信息
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910105816144.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
指定字段的类型(创建规则)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910113123847.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
获取具体的索引规则
# GET test2
{
"test2" : {
"aliases" : { },
"mappings" : {
"properties" : {
"age" : {
"type" : "integer"
},
"birthday" : {
"type" : "date"
},
"name" : {
"type" : "text"
}
}
},
"settings" : {
"index" : {
"creation_date" : "1599708623941",
"number_of_shards" : "1",
"number_of_replicas" : "1",
"uuid" : "ANWnhwArSMSl8k8iipgH1Q",
"version" : {
"created" : "7080099"
},
"provided_name" : "test2"
}
}
}
}
# 查看默认的规则
PUT /test3/_doc/1
{
"name": "狂神说Java",
"age": 28,
"birthday": "1997-01-05"
}
# GET test3
{
"test3" : {
"aliases" : { },
"mappings" : {
"properties" : {
"age" : {
"type" : "long"
},
"birthday" : {
"type" : "date"
},
"name" : {
"type" : "text",
"fields" : {
"keyword" : {
"type" : "keyword",
"ignore_above" : 256
}
}
}
}
},
"settings" : {
"index" : {
"creation_date" : "1599708906181",
"number_of_shards" : "1",
"number_of_replicas" : "1",
"uuid" : "LzPLCDgeQn6tdKo3xBBpbw",
"version" : {
"created" : "7080099"
},
"provided_name" : "test3"
}
}
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910114250259.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
修改索引 POST
# 只会修改指定项,其他内容保证不变
POST /test3/_doc/1/_update
{
"doc": {
"name":"暴徒狂神"
}
}
# GET test3/_doc/1
{
"_index" : "test3",
"_type" : "_doc",
"_id" : "1",
"_version" : 2,
"_seq_no" : 1,
"_primary_term" : 1,
"found" : true,
"_source" : {
"name" : "暴徒狂神",
"age" : 28,
"birthday" : "1997-01-05"
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910115620763.png#pic_center)
8. 关于文档的基本操作
基本操作(简单的查询)
put /kuangshen/user/1
{
"name": "狂神说",
"age": 23,
"desc": "一顿操作猛如虎,一看工资2500",
"tags": ["码农", "技术宅", "直男"]
}
put /kuangshen/user/2
{
"name": "张三",
"age": 28,
"desc": "法外狂徒",
"tags": ["旅游", "渣男", "交友"]
}
put /kuangshen/user/3
{
"name": "李四",
"age": 30,
"desc": "不知道怎么描述",
"tags": ["旅游", "靓女", "唱歌"]
}
GET kuangshen/user/1
GET kuangshen/user/_search?q=name:狂神
复杂操作(排序、分页、高亮、模糊查询、标准查询!)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200910140701583.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZhbmppYW5oYWk=,size_16,color_FFFFFF,t_70#pic_center)
# 模糊查询
GET kuangshen/user/_search
{
"query": {
"match": {
"name": "狂神"
}
}
}
# 对查询结果进行字段过滤
GET kuangshen/user/_search
{
"query": {
"match": {
"name": "狂神"
}
},
"_source": ["name", "desc"]
}
# 排序
GET kuangshen/user/_search
{
"query": {
"match": {
"name": "狂神"
}
},
"sort":[{
"age": "asc"
}]
}
# 分页
GET kuangshen/user/_search
{
"query": {
"match": {
"name": "狂神"
}
},
"sort":[{
"age": "asc"
}],
"from": 0,
"size": 2
}
布尔值条件查询
# 多条件查询 must 相当于and
GET kuangshen/user/_search
{
"query": {
"bool": {
"must": [
{"match": {
"name": "狂神"
}},
{"match": {
"age": 23
}}
]
}
}
}
# 多条件查询 should 相当于or
GET kuangshen/user/_search
{
"query": {
"bool": {
"should": [
{"match": {
"name": "狂神说"
}},
{"match": {
"age": 25
}}
]
}
}
}
# 多条件查询 must_not 相当于 not
GET kuangshen/user/_search
{
"query": {
"bool": {
"must_not": [
{"match": {
"age": 25
}}
]
}
}
}
# 过滤查询1 age > 24
GET kuangshen/user/_search
{
"query": {
"bool": {
"must": [
{"match": {
"name": "狂神"
}}
],
"filter": [
{"range": {
"age": {
"gt": 24
}
}}
]
}
}
}
# 过滤器2 22 |