目录 1 Lucene操作document的流程 1.1 添加document的流程 1.2 删除document的流程 2 优化写入流程 - 实现近实时搜索 2.1 流程的改进思路 2.2 设置refresh的间隔 3 优化写入流程 - 实现持久化变更 3.1 文档持久化到磁盘的流程 3.2 基于translog和commit point的数据恢复 4 优化写入流程 - 实现海量segment文件的归并 4.1 存在的问题 4.2 merge操作的流程 4.3 优化merge的配置项 4.4…
目录 1 type的作用 2 type的底层数据结构 3 探究type的存储结构 3.1 创建索引并配置映射 3.2 添加数据 3.3 查看存储结构 4 关于type的最佳实践 1 type的作用 在Elasticsearch的索引(index)中, 通过标识元字段_type来区分不同的type, 所以我们可以把具有相同字段(field)的文档划分到同一个type下. ==> 因而_type也称作映射类型, 即每个type都有各自的mapping. 但即使是类似的数据, 也有可能存在不同的fie…
目录 1 增删改document的流程 1.1 协调节点 - Coordinating Node 1.2 增删改document的流程 2 查询document的流程 1 增删改document的流程 1.1 协调节点 - Coordinating Node Coordinating Node(协调节点): 客户端随机选择一个Node用来发送操作请求, 这个节点就称为协调节点. 由于每个Node都能计算出Document的存储位置, 所以由哪个Node担任协调节点都是可以的--这对客户端来说是透…
问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死.严重影响业务. 问题前提:老系统,当时设计系统的人大概是大学没毕业,表设计和sql语句写的不仅仅是垃圾,简直无法直视.原开发人员都已离职,到我来维护,这就是传说中的维护不了就跑路,然后我就是掉坑的那个!!! 我尝试解决该问题,so,有个这个日志. 方案概述 方案一:优化现有mysql数据库.优点:不影响现有业务…
示例数据文件document.json(index表示在索引中增加或替换现有文档,create表示如果文档不存在则添加文档,delete表示删除文档): { "index": { "_index": "addr", "_type": "contact", "_id": 1 }}{ "name": "Fyodor Dostoevsky", "…
今天我们来说一下我们的mysql,个人认为现在的mysql能做到很好的优化处理,不比收费的oracle差,而且mysql确实好用. 当我们查询慢的时候,我会做一系列的优化处理,例如分库分表,加索引.那么我们底层的索引到底长什么样子呢?为什么可以快速的查询出来数据呢,我们下面来解读一下mysql的索引. 在上面的博客里,我写过一篇基础的数据结构,基础的不能再基础了.https://www.cnblogs.com/cxiaocai/p/11235054.html 主要就是数组,链表,hash,队列,…
Elasticsearch底层使用的使用的lucene lucene使用的是倒排索引的方式来进行加快检索速度 倒排索引的原理 doc_1      The quick brown fox jumped over the lazy dog doc_2 Quick brown foxes leap over lazy dogs in summer 对上述内容进行倒排索引 1.先对文本内容进行分词 the /quick /brown /fox.......... 2.每个分词进行分类 结果如下图 Te…
地址:https://database.51cto.com/art/201902/592522.htm 虽然是广告文,但整体可读性尚可.…
使用Flink实现索引数据到Elasticsearch  2018-07-28 23:16:36    Yanjun 使用Flink处理数据时,可以基于Flink提供的批式处理(Batch Processing)和流式处理(Streaming Processing)API来实现,分别能够满足不同场景下应用数据的处理.这两种模式下,输入处理都被抽象为Source Operator,包含对应输入数据的处理逻辑:输出处理都被抽象为Sink Operator,包含了对应输出数据的处理逻辑.这里,我们只关…
目录 1 动态映射(dynamic mapping) 1.1 什么是动态映射 1.2 体验动态映射 1.3 搜索结果不一致的原因分析 2 开启dynamic mapping策略 2.1 约束策略 2.2 策略示例 3 定制dynamic mapping策略 3.1 date_detection - 日期识别策略 3.2 在type中自定义动态映射模板 3.3 [过期]在index中自定义默认映射模板 1 动态映射(dynamic mapping) 1.1 什么是动态映射 动态映射时Elastic…