ES学习文档

ES学习文档

1. 名词描述

1.1索引(index)=>近似与数据库

1.1.1添加索引

例:put /YunShangPu (添加一个索引名称为YunShangPu)

1.1.2删除索引

例:DELETE / YunShangPu (删除名称为YunShangPu的索引)

1.1.3查询索引

例:GET/YunShangPu(查询名称为YunShangPu的索引)

1.2类型(type) =>近似与数据表

1.2.1创建字段映射(类似于创建数据表指定并指定数据类型)

语法:固定写法 PUT /索引库/_mapping/类型名或 PUT /索引库/类型名/_mapping
示例1:索引库(YunShangPu)中创建类型ProductBase并包含productName/ productNo/ sort/ isShow/ createDate等字段
#创建类型
#包含字段
#产品名称:productName
#产品编号:productNo
#排序号:sort
#是否展示:isShow
#创建时间:createDate
#单价:price
#示例1 /类型text允许分词 类型keyWord不允许分词
PUT /YunShangPu/ProductBase/_mapping
{
“properties”: {
“productName”:{
“type”: “text”,
“index”: true
},
“productNo”:{
“type”: “keyword”,
“index”: true
},
“sort”:{
“type”: “long”
},
“isShow”:{
“type”: “boolean”
},
“createDate”:{
“type”: “date”
},
“price”:{
“type”: “double”
}
}
}

1.2.2查询类型

语法:GET /索引库/类型名/_mapping或GET /索引库/_mapping/类型名
1、GET /YunShangPu/ProductBase/_mapping
2、GET /YunShangPu/_mapping/ProductBase
1.2.3查询类型中数据
语法:GET /索引名/类型名/_search
如:GET /YunShangPu/ProductBase/_search
1.2.4快速创建类型和索引(常用)
PUT /YunShangPu1
{
“settings”: {},
“mappings”: {
“Goods”:{
“properties”:{
“ProductName”:{
“type”:“text”
}
}
}
}
}
1.3文档(document) =>近似与数据库行数据
1.3.1添加一条行数据
(一)索引YunShangPu中添加一条商品信息到类型ProductBase Id为1
PUT /YunShangPu/ProductBase/1
{
“productName”:”充电宝”,
“productNo”:”YSP001”,
“productPrice”:0.01,
“sort”:1,
“isShow”:true,
“createDate”:”2020-11-16 16:27:00”
}

(二)索引YunShangPu中更新一条商品信息到类型ProductBase Id为1将充电宝重命名为充电器
PUT /YunShangPu/ProductBase/1
{
“productName”:”充电器”,
“productNo”:”YSP001”,
“productPrice”:0.01,
“sort”:1,
“isShow”:true,
“createDate”:”2020-11-16 16:27:00”
}

(三)取出索引为YunShangPu 类型是ProductBase Id为1的数据
GET /YunShangPu/ProductBase/1

(四) 删除索引为YunShangPu 类型是ProductBase Id为1的数据
DELETE /YunShangPu/Product/1
1.4字段(field) =>近似与数据列数据

2.复杂查询

2.1基础查询(索引:YunShangPu)
GET /YunShangPu/_search
2.1.1 match_all查询
GET /YunShangPu/_search
{
“query”: {
“match_all”: {}
}
}
2.1.2match查询(分词查询)
GET /YunShangPu/_search
{
“query”: {
“match”: {
“ProductName”: “无线充电宝”
}
}
}
2.1.3term精确查询
GET /YunShangPu/_search
{
“query”: {
“term”: {
“ProductNo”: {
“value”: “ES002”
}
}
}
}
2.1.3range范围查询
#gt 大于
#gte 大于等于
#lt 小于
#lte 小于等于
GET /YunShangPu/_search
{
“query”: {
“range”: {
“price”: {
“gt”: 10,
“lte”: 19.99
}
}
}
}
2.2字段筛选(_source)
2.2.1直接筛选
{
“_source”:[“字段1”,”字段二”],
“query”:{
//查询条件数据
}
}
2.2.2指定字段显示筛选includes (表示指定的字段显示到查询结果)
{
“_source”:{
“includes”: [“字段1”,”字段二”]
},
“query”:{
//查询条件数据
}
}
2.2.3指定字段不显示excludes(表示查询结果不显示指定的字段)
{
“_source”:{
“includes”: [“字段1”,”字段二”]
},
“query”:{
//查询条件数据
}
}

2.3布尔查询GET /YunShangPu/_search
2.3.1must(与)查询
{
“query”:{
“bool”:{
“must”:{
“match”:{
“字段名”:”查询值”
}
}
}
}
}
2.3.2must_not(非)查询
{
“query”:{
“bool”:{
“must_not”:{
“match”:{
“字段名”:”查询值”
}
}
}
}
}
2.3.3 should(或)查询
{
“query”:{
“bool”:{
“must_not”:{
“match”:{
“字段名”:”查询值”
}
}
}
}
}

2.3.4组合查询

3.服务器集群
3.1集群优点
1、单节点无法保证服务器高可用性
2、单节点并发量有限
3、单节点容量有限
3.2集群搭建(搭建集群需要先清空data文件数据)

4.安装教程
4.1 Elasticsearch安装教程

4.2IK分词器安装教程
4.3Kibana安装教程
5code3.1使用
多条件拼接查询
http://www.vnfan.com/taylor/d/6eac739a8e90e46a.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值