中间件 - ElasticSearch

前言

6题。

为什么要用ES?

从mysql为什么不行来说

数据量大又涉及到模糊查询。

涉及到分词查询。

什么是倒排索引?

倒排索引其实就是分词查询

  1. 分词:把原始内容分词,分词后和原始文档有对应关系;

  2. 查询:根据分词可以获取到原始文档。

ES中的查询关键字有哪些(方法)?

  1. term :精确查询;
  2. match :分词查询(模糊查询);
  3. range :范围查询;
  4. bool :复合查询;

must与、should或、must_not非、filter

  1. geo_distance :地理位置查询。

ES中字符串类型有几个?

keywordTextkeyword类型是不会分词的,Text类型会分词。

ES中query和filter的区别?

都可以实现ES中的查询,区别是:

  1. query查询操作不仅仅会进行查询,还会计算分值;

  2. filter查询操作仅判断是否满足查询条件,不会计算任何分值,也不会关心返回的排序问题。

如何保证ES和MySQL的数据一致性?

有以下四种方式:

  1. 同步双写 :如果是分布式项目,通过fegin进行远程调用;

  2. 异步消息 :通过MQ发消息(微服务之间);

  3. canel监听 :使用canel监听MySQLbinlog日志,当发现写入操作后,立即读取内容,写入ES

  4. logstatsh :使用开源的数据搜索引擎logstatshMySQL中的数据实时传输给ES。

相关推荐
玹外之音10 分钟前
Spring AI + Elasticsearch 向量存储实战:从零构建智能文档检索系统
人工智能·spring·elasticsearch
小闫BI设源码16 分钟前
Elasticsearch面试必看:如何让客户端精准选择节点高效执行请求?
java·elasticsearch·面试宝典·深入解析
醉颜凉32 分钟前
Elasticsearch 相关性评分核心解密:tie_breaker 参数作用原理与实战调优全解析
大数据·elasticsearch·jenkins
kyriewen2 小时前
面试官让我现场用 AI 改一个真实 bug——他打断我的 3 个理由
前端·面试·ai编程
众人皆醒我独醉3 小时前
流量路由:Istio 与 Knative 的集成
面试·kubernetes·llm
众人皆醒我独醉3 小时前
模型加载:storage-initializer 与节点级缓存
面试·kubernetes·gpu
吴声子夜歌4 小时前
Java面试——设计模式(一)
java·设计模式·面试
zhangfeng11337 小时前
CANN 社区任务提交 PR 踩坑与修复全记录(GitCode 平台)
大数据·elasticsearch·gitcode
Elasticsearch7 小时前
开启终端新体验:全新 Elastic CLI 实用指南(技术预览版)
elasticsearch
Elasticsearch8 小时前
Elasticsearch 9.5 跑在 5 年前的老 PC 上,日志硬扫每秒 343 万行
elasticsearch