中间件 - 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。

相关推荐
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
Cosolar6 小时前
从零写一个 Attention Is All You Need
人工智能·面试·架构
jiayong239 小时前
AI架构师面试题库 - 完整汇总文档
人工智能·面试·职场和发展
liushangzaibeijing10 小时前
Superpower 使用大纲
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客11 小时前
每次操作一个 API 调用:Elastic Cloud Hosted 如何让大规模部署管理变得可行
大数据·运维·数据库·elasticsearch·搜索引擎·serverless
he___H13 小时前
面试场景题
面试·职场和发展
ricardo197313 小时前
防抖节流进阶 + requestAnimationFrame:滚动与输入场景的性能优化
前端·面试
自进化Agent智能体14 小时前
拆解Hermes会话循环:一个目标如何变成可执行的代码
面试
是小王同学啊~15 小时前
Kafka 面试通关笔记:高频八股 + 生产实战 + 追问链路(上)
笔记·面试·kafka
Komorebi_999916 小时前
Day6:微调 vs RAG 场景区分(面试高频)
面试·职场和发展