
ElasticSearch
文章平均质量分 65
qq_16570607
一步一个脚印,在成为优秀程序员的路上。
展开
-
ElasticSearch和Mysql的数据同步
前言ES是一款开源的分布式搜索框架,它是一个存储数据、检索数据、分析数据的综合体。es 和 mysql 之间的数据同步分 全量 和 增量。binlog订阅binlog 用于实时记录 mysql 数据产生的一些变化,然后通过 mysql 的主从复制协议,自己实现一个客户端和 mysql 的主节点进行连接,其实就是把自己伪装成一个 slave 节点,接下来主节点就会把数据变更事件发送给从节点。把mysql一系列的数据更改事件收集到binlog的同步组件,然后交给下游的客户端去消费。开源中间件log原创 2021-07-11 18:06:16 · 721 阅读 · 2 评论 -
Elasticsearch倒排索引底层数据结构
为什么需要倒排索引每种数据库都有自己要解决的问题(或者说擅长的领域),对应的就有自己的数据结构,而不同的使用场景和数据结构,需要用不同的索引,才能起到最大化加快查询的目的。Elasticsearch 是建立在全文搜索引擎库 Lucene 基础上的搜索引擎,它隐藏了 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API,不过掩盖不了它底层也是 Lucene 的事实。Elasticsearch 的倒排索引,其实就是 Lucene 的倒排索引。倒排索引的内部结构Lucene原创 2021-07-11 11:25:10 · 1958 阅读 · 0 评论 -
什么是倒排索引?
正向索引在搜索引擎中每个文件都对应一个文件ID,文件内容被表示为一系列关键词的集合(实际上在搜索引擎索引库中,关键词也已经转换为关键词ID)。例如“文档1”经过分词,提取了20个关键词,每个关键词都会记录它在文档中的出现次数和出现位置。得到正向索引的结构如下: “文档1”的ID > 单词1:出现次数,出现位置列表;单词2:出现次数,出现位置列表;…………。 “文档2”的ID > 此文档出现的关键词列表。倒排索引当用户在主页上搜索关键词“华为手机”时,假设只存在正向索引(原创 2021-07-10 16:52:46 · 330 阅读 · 0 评论