中间件 - ElasticSearch

前言

共6题。

为什么要用ES?

从mysql为什么不行来说

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

涉及到分词查询。

什么是倒排索引?

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

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

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

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

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

must与、should或、must_not非、filter与

  1. geo_distance :地理位置查询。

ES中字符串类型有几个?

有keyword和Text:keyword类型是不会分词的,Text类型会分词。

ES中query和filter的区别?

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

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

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

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

有以下四种方式:

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

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

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

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

相关推荐
ShineWinsu3 小时前
对于Redis:AOF持久化的解析
linux·数据库·redis·缓存·面试·持久化·aof
考研保研资料分享5 小时前
金融专硕保研经验:清华五道口预推免、北大汇丰夏令营与面试复盘
面试·金融
事圆则缓5 小时前
Kotlin 入门与面试:从空安全、扩展函数到协程
安全·面试·kotlin
Elasticsearch5 小时前
使用 Lucene 搜索你的 Bean — 索引
elasticsearch
Elasticsearch9 小时前
最快的工作是你根本不需要做的工作:Elasticsearch 中速度提升 100 倍的排序查询
elasticsearch
ShineWinsu9 小时前
对于Redis:RDB持久化的解析
linux·数据库·redis·缓存·面试·持久化·rdb
丑陋小蚊子15 小时前
项目数据不能公开,就写清交付物
面试·求职招聘·大学生·简历·简历下载
2601_9499506318 小时前
练题簿在线免费刷题 从资料整理到考前自测
面试·职场和发展·pdf·word·刷题
Elastic 中国社区官方博客18 小时前
将你自己的密钥用于现有 Elastic Cloud 部署
大数据·数据库·elasticsearch·全文检索
Elasticsearch19 小时前
使用 Lucene 搜索你的 Bean — 搜索
elasticsearch