es我的笔记

1修改文档时候的并发问题

es7x后的版本中,_seq_no代表在特定分片中的序列号,_primary_term代表文档所在主分片的任期编号,修改文档的时候拿这两个作为条件就ok了。每修改一次,_seq_no就会+1。

2es中如何处理关联关系

1嵌套对象

允许对象数组中的对象被独立索引

构建映射时候:properties同级加上:"type":"nested"

查询的时候也要加上"nested"

缺点:每次更新会导致重新索引整个对象(包括根对象和嵌套对象)

注意:嵌套的时候不设置nested,es会对嵌套的数据进行扁平化处理。

2join父子文档类型
3宽表冗余存储
4业务端关联

3查询

跟query同级:

_source:查询哪些字段

sort:排序规则

from:起始页

size:条数


query子级:精确匹配(不分词)

term:精确匹配。不分词,会算分。term处理多值字段(数组),是包含,不是精确匹配。避免算分:外层加上constant_score和filter。

terms:多值匹配。terms只是匹配上自己中的一个值即可,但是如果必须全部匹配就需要使用bool must+多个term进行实现。

range:范围查询

exists:字段是否存在

ids:根据一组id查询

prefix:前缀匹配。不分词(不会对搜索的词分词),不会算分。场景:自动补全功能。最好搭配keyword类型。

wildcard:通配符

regexp:正则匹配

fuzzy:编辑距离的模糊查询。fuzziness:允许错误的字的数量,默认是0,1,2。

term set:能在多值字段中匹配个数

4es中的bool

  • 如果整个查询没有 must /filter: should 默认要求至少匹配 1 条(minimum_should_match=1),必须命中其中一个;
  • 如果外层 bool 存在 must /filter: should 变成「加分项,不强制匹配」,文档可以一条都不满足 should,照样能查出来。
相关推荐
小羊没烦恼!3 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
一隅论数智3 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
尧炎科技3 天前
防潮抗变形,就选纯品梅花全桉多层板
大数据
程序员大阳3 天前
副队长大数据教程(5)--集群情况下虚拟机网络配置
大数据·集群·nat·网路
自由能燃气设备3 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远3 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
嘉立创FPC苗工3 天前
FPC与机器人的双向赋能,解锁智能装备进化新势能
大数据·人工智能·制造·fpc·电路板
AI职业加油站3 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
深圳老胡3 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
龙亘川3 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务