学习-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

相关推荐
白日做梦Q22 分钟前
Navicat for MySQL 详细使用指南:命令行操作与界面操作双视角全解析
大数据·mysql·adb·数据库开发
李小星同志33 分钟前
HTTM: Head-wise Temporal Token Merging for Faster VGGT论文学习
学习
喜欢吃燃面1 小时前
算法竞赛中的堆
c++·学习·算法
AI_56781 小时前
AI知识库如何重塑服务体验
大数据·人工智能
自然语2 小时前
人工智能之数字生命-学习的过程
数据结构·人工智能·深度学习·学习·算法
你好~每一天2 小时前
从传统行业到AI入门:我的CAIE Level I学习体验与思考
大数据·数据结构·人工智能·学习·jupyter·idea
G皮T2 小时前
【Elasticsearch】索引别名 aliases
大数据·elasticsearch·搜索引擎·es·索引·索引别名·aliases
wyiyiyi2 小时前
【数据结构+算法】非递归遍历二叉树的理解
大数据·数据结构·笔记·算法·leetcode·数据分析
烤麻辣烫2 小时前
黑马程序员苍穹外卖(新手)DAY8
java·开发语言·学习·spring·intellij-idea
爱跑步的程序员~2 小时前
Elasticsearch倒排索引
java·大数据·elasticsearch·搜索引擎·全文检索