ElasticSearch入门学习记录

我的环境

windows7+jdk8+node10

1:单实例安装

下载:https://www.elastic.co/downloads/elasticsearch
下载解压之后进入config/elasitcsearch.yml修改配置文件:
在yml后面增加如下:

# 允许跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
# 集群名称和节点名称
cluster.name: kone
node.name: kone-master
# 指定這是主节点
node.master: true
network.host: 127.0.0.1

启动测试: 点击bin/elasticsearch.bat启动:
浏览器打开:http://127.0.0.1:9200/
在这里插入图片描述

2:插件安装(header插件)

github:下载链接:https://github.com/mobz/elasticsearch-head
解压之后npm install安装依赖之后再在文件夹主目录cmd 敲npm run start即可启动插件:
当没启动插件之前的kone-master主节点,打开浏览器进入9100端口:
在这里插入图片描述
当在启动插件前启动了主节点:
在这里插入图片描述

3:分布式安装

先对上面的配置进行修改:

http.cors.enabled: true
http.cors.allow-origin: "*"

cluster.name: kone
node.name: kone-master
node.master: true

network.host: 127.0.0.1

再新建了一个salve文件夹,再在里面新建slave1和slave2文件夹.把之前解压的es复制到这两个文件夹中,对两个节点的配置文件增加:
kone-slave1

# 子节点1配置:
# cluster.name和主节点一致
cluster.name: kone
node.name: kone_slave1

network.host: 127.0.0.1
# 默认9200,已被主节点使用
http.port: 9201
# 绑定到主节点上
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

kone-slave2

# 子节点2配置:
# cluster.name和主节点一致
cluster.name: kone
node.name: kone_slave2

network.host: 127.0.0.1
# 默认9200,已被主节点使用
http.port: 9202
# 绑定到主节点上
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

启动三个es,通过插件在浏览器中查看:
在这里插入图片描述

4: 创建索引:

非结构化索引创建省略,
结构化索引创建:
可以用刚才的header插件来创建,我用的postman:
在这里插入图片描述
注: 我用的是es7.x,不能指定索引类型,之前的版本可以指定.
刷新header插件的页面:
在这里插入图片描述
在这里插入图片描述

5:crud

A:插入

下图为指定id插入,随机id插入把url后面的数字去掉即可随机生成
在这里插入图片描述
结果:
在这里插入图片描述

B:修改

在这里插入图片描述
结果:
在这里插入图片描述

C:删除

删除数据:
在这里插入图片描述
删除索引:1:在header里面直接删除:
2:在postman里删除: 之前的人类索引被删除了,里面的数据也随之而去
在这里插入图片描述

D:查询

查询分为:简单查询,条件查询,聚合查询
为了方便查询:用下面的语句创建了book索引:

{
	"settings": {
		"number_of_shards": 5,
		"number_of_replicas": 1
	},
	"mappings": {
		"properties": {
			"word_count": {
				"type": "integer"
			},
			"author": {
				"type": "keyword"
			},
			"title": {
				"type": "text"
			},
			"publish_date": {
				"format": "yyyy-MM-dd HH:mm:ss||uuuu-MM-dd||epoch_millis",
				"type": "date"
			}
		}
	}
}

并加入几条测试数据:
在这里插入图片描述

a:简单查询

在这里插入图片描述

b:条件查询

在这里插入图片描述
当然,上面只是查询所有的,
下面加一些条件:
在这里插入图片描述

c:聚合查询

在这里插入图片描述
结果:
在这里插入图片描述

6:高级查询

在这里插入图片描述

A:Query Context

QueryContext
又分为:
在这里插入图片描述

1:模糊查询

找到title中有"汪浩斌" 关键字的
在这里插入图片描述

2:短语匹配(match_phrase)

找到title中有"汪浩斌的成功学"的,精准匹配,知道的一条数据.
在这里插入图片描述

3:多个字段模糊匹配查询

author或者title中有"马晓利"的都会被查询到
在这里插入图片描述

4:语法查询(query_string)

找数据里面有XX且有XX的
在这里插入图片描述
找到数据中有XX或者有YY的
在这里插入图片描述
接上一张图的实例,查询中指定两个字段
在这里插入图片描述

5:范围查询

查询字数 在1000到里2000之间的(1000≤word_count≤2000)的.
gte:大于等于.lte:小于等于.gt:大于.lt:小于
在这里插入图片描述
日期范围:
在这里插入图片描述

B:Filter Context

解释:在查询过程中,只判断该文档是否满足条件,只有yes和no…
因为ES会对Filter的结果进行缓存,所以速度会比query快.

在这里插入图片描述

C:复合查询

推荐elasticSearch对配置写的比较详细的文章:

1:https://blog.csdn.net/gamer_gyt/article/details/59077189
2:https://www.cnblogs.com/zenan/p/10983580.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kone.wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值