学习-ES

分布式搜索

了解

*可以从海量数据找到所需内容

*结合 kibana(数据可视化),logstash(数据抓取),es(存储计算) 合称 ELK (数据分析,监控)

mysql是正向索引()
es是倒排索引:(先找查词条找到id,再根据id找到文档)
文档:一条数据
词条:将文档按语义分为词语(不重复)

es合mysql对比

*存储为json风格

*索引(index)(相同文档的集合)(表)

*文档(document)(就是行数据)

*字段(field)

*映射(mapping) 文档的约束-如字段名称类型(唯一约束)

*DSL :json风格的请求语句 基于HTTP请求发送(sql)

分词器

(根据词库)

默认:对中文不是很友好

中文选择:IK
可以拓展词汇合禁止 词汇
两种模式:smart(智能粗粒度),max_word(最细粒度)

索引库操作(建表)

常见的Mapping属性:

*type:数据类型
*字符串 :
text(可分词的), keyword(精确不可以拆)
*数值: long,int,short,double,float
*boolean
*date:日期
*对象:object (json对象)
*没有数组类型

*index: 是否创建索引 默认true

*analyzer :使用哪个分词器(对于字符串的text)

*properties :该字段的子字段(对于object对象)

禁止修改索引库,可以添加新字段

**插入push,查get, 删 delete,**改put
改put(id不存在就新增)

*全量修改

*局部修改

利用JavaRestClient操作

基本语法

DSL

*全文检索

*精确查询

*地理查询

*复合查询(将上述的组合起来)

java的restClient

相关推荐
嗷嗷哦润橘_36 分钟前
AI Agent学习:MetaGPT之我的工作
人工智能·学习·flask
知识分享小能手1 小时前
CentOS Stream 9入门学习教程,从入门到精通,Linux日志分析工具及应用 —语法详解与实战案例(17)
linux·学习·centos
2301_783360131 小时前
【学习笔记】关于RNA_seq和Ribo_seq技术的对比和BAM生成
笔记·学习
qq_397731511 小时前
Objective-C 学习笔记(第9章)
笔记·学习·objective-c
西格电力科技1 小时前
面向工业用户的绿电直连架构适配技术:高可靠与高弹性的双重设计
大数据·服务器·人工智能·架构·能源
ujainu2 小时前
Python学习第一天:保留字和标识符
python·学习·标识符·保留字
sheji34162 小时前
【开题答辩全过程】以 基于Java的应急安全学习平台的设计与实现为例,包含答辩的问题和答案
java·开发语言·学习
喵了meme2 小时前
Linux学习日记21:读写锁
linux·c语言·学习
好奇龙猫2 小时前
日语学习-日语知识点小记-构建基础-JLPT-N3阶段-二阶段(29):第八科文法
学习
崇山峻岭之间3 小时前
C++ Prime Plus 学习笔记041
c++·笔记·学习