IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 尚硅谷ES入门 笔记 -> 正文阅读

[大数据]尚硅谷ES入门 笔记

安装:

1.解压安装包
2.运行bin目录下的Elasticsearch .bat文件 
3.浏览器输入http://localhost:9200  访问
	注意:9300 端口为 Elasticsearch 集群间组件的通信端口
	 9200 端口为浏览器访问的 http协议 RESTful 端口。

Elasticsearch 支持分布式,rest(缩写:资源状态转换)ful风格的搜索和分析

ES中数据发送与数据返回以json为标准格式
jason(javaScript Object Notation):特殊标记的js对象
var obj = { " "  : " " }
var objs = [ obj,obj ]  //集合

正排索引:

id 设为主键,通过id查索引信息
比如:查文章中有哪些热门词汇,就要模糊查询,比较麻烦 ,每条数据都要进行遍历
查询的大小写,时态等待都会影响查询的准确率

倒排索引:

id 保持不变,让关键字与文章的ID进行关联,
也就是通过关键字来查询主键ID,然后再关联文章内容

索引操作

先创建索引,才能访问数据
对比关系型数据库,创建索引就等同于在 Postman 中创建数据库
向 ES 服务器发 PUT 请求:http://127.0.0.1:9200/shopping

在这里插入图片描述
注:

put具有幂等性,再次发送引起线程冲突,不允许
幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。
post:没有幂等性,两次操作可能结果不一样
get:获取索引的相关信息
delete:删除索引

http://127.0.0.1:9200/_cat/indices?v  所以整体含义就是查看当前 ES 服务器中的所有索引,就好像 MySQL 中的 show tables
-cat:查询
indice:表示索引

服务器响应结果如下:
在这里插入图片描述
在这里插入图片描述

创建:

put :http://127.0.0.1:9200/shopping/_doc/1001
只能使用put,put每一次都生成数据,所以put不是幂等性的
1001,自定义主键,默认是随机生成的
再put,中传入json字符串

查询:

get:  http://127.0.0.1:9200/shopping/_doc/1001    单条
get :http://127.0.0.1:9200/shopping/_search    全查

修改:

完全覆盖:无论发送多少次请求,结果都一样,是幂等性的,所以可以使用put
put:http://127.0.0.1:9200/shopping/_doc/1001
{
"title":"小米手机",
"category":"小米",
"images":"http://www.gulixueyuan.com/xm.jpg",
"price":3999.0
 }

局部修改:局部更新就说明,每一次的结果不一定是相同的,不具有幂等性,可以用post
post :http://127.0.0.1:9200/shopping/_update/1001

{
"doc":{
	"title":"华为手机"
}

}
删除:

delete:http://127.0.0.1:9200/shopping/_doc/1001 

条件查询&&分页查询:

条件查询:
get:http://127.0.0.1:9200/shopping/_search?q=category:小米
上面是请求路径,更方便的是请求体  在body中写入请求

get:http://127.0.0.1:9200/shopping/_search
  • 请求体:
{
	"query" : {
		"match" : {  //match:匹配查询
			"category":"小米"
		}
	}
}

//全量查询:
{
	"query" : {
		"match_all" : {
			
		}
	}
}
分页查询:
{
	"query" : {
		"match_all" : {
			
		}
	},
	"from" : 0,  //页码-1 * size
	"size" : 2,
	"_source" : ["title"] //只要title
	"sort" : {//对查询结果倒排序
		"price" : "desc"
	}
}

多条件查询&&范围查询:

must:类似and
should:类似or
{
	"query" : {
		"bool" : {
			"must" :[  //品牌是小米,并且价格为3999
				{
					"match" : {
						"category" : "小米"
					}
				},
				{
					"match" : {
						"price" : "3999"
					}
				}
			],
			"filter" : {  //过滤属性  范围查询
				"range" : {
					"price" : {
						"gt" : 5000
					}
				}
		}
	}
}

全文检索&&完全匹配&&高亮查询

使用文字的一部分也是可以查询的,
当保存文档数据时,ES会对数据文字进行分词拆解操作,将拆解后的数据保存到==倒排==索引数据当中
所以,部分文字也是可以查询的,这种方式称为全文检索,比如:“小华”可以匹配到“华为”
{
	"query" : {
		"match_phrase" : {
			"category" : "大米"  //这样match_phrase 完成 完全匹配
		}
	},
	"highlight" : { //高亮操作
		"fields" : {  //字段
			"category" : {}
		}
		
	}
	
}

在这里插入图片描述
聚合查询:

{
	"aggs" : {  //聚合操作
		"price_avg" : {  //名称,随意起名
			"avg" : {  	//平均值
				"field" : "price"	//分组字段
			}
		}
	},
	"size" : 0  //0:不查看原始数据
}

在这里插入图片描述
映射关系:

映射数据说明:
在这里插入图片描述

{
	"properties" :{
		"name":{
			"type" : "text",  //可分词
			"index" : true		//可索引查询
		},
		"sex" :{
			"type" : "keyword",  //不可分词,必须完全匹配
			"index" : true
		},
		"tel" :{
			"type" : "keyword",
			"index" : false   //没有被索引,所以不能被查询
		}
	}
}

*******************************

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:51:49  更:2021-07-23 10:53:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 14:47:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码