一.高亮的一些问题 elasticsearch提供了三种高亮方式,前面我们已经简单的了解了elasticsearch的高亮原理; 高亮处理跟实际使用查询类型有十分紧密的关系,其中主要的一点就是muti term 查询的重写,例如wildcard.prefix等,由于查询本身和高亮都涉及到查询语句的重写,如果两者之间的重写机制不同,那么就可能会碰到以下情况 相同的查询语句, 使用unified和fvh得到的高亮结果是不同的,甚至fvh Highlighter无任何高亮信息返回: 二.数据环境 el…
从原理上理解MySQL的优化建议 预备知识 B+树索引 mysql的默认存储引擎InnoDB使用B+树来存储数据的,所以在分析优化建议之前,了解一下B+树索引的基本原理. 上图是一个B+树索引示意图,每个节点表示一个磁盘块,也可以理解为数据库中的页. 分析下B+树索引的查找过程,如果我要查询主键为35的数据,索引会怎么走? 首先会判断35小于根节点37,继续查询左子树 判断35大于22和33,那么进入右子树,找到了叶子节点33 继续遍历找到35 最后取出其data即可 在索引的情况下,查询35只…
原文链接:微服务化的数据库设计与读写分离(来源:刘超的通俗云计算) 数据库永远是应用最关键的一环,同时越到高并发阶段,数据库往往成为瓶颈,如果数据库表和索引不在一开始就进行良好的设计,则后期数据库横向扩展,分库分表都会遇到困难. 对于互联网公司来讲,一般都会使用MySQL数据库. 一.数据库的总体架构 我们首先来看MySQL数据的总体架构如下: 这是一张非常经典的MySQL的系统架构图,通过这个图可以看出MySQL各个部分的功能. 当客户端连接数据库的时候,首先面对的是连接池,用于管理用户的连接…
这是图解MySQL的第4篇文章,这篇文章会让你 明白什么是索引,彻底理解B+树和索引的关系: 彻底理解主键索引.普通索引.联合索引: 了解什么是HASH索引,InnoDB和MyISAM索引的不同实现方式: 轻松理解后续的索引使用规则. 1. 准备工作 为了更好地解释索引,我们先建个表. CREATE TABLE `user_innodb` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `gender`…
理解二次评分 二次评分是指重新计算查询返回文档中指定个数文档的得分,es会截取查询返回的前N个,并使用预定义的二次评分方法来重新计算他们的得分 小结 有时候,我们需要显示查询结果,并且使得页面上靠前文档的顺序能受到一些额外的规则控制,但遗憾的是,我们并不能通过二次评分来实现,也许有些读者会想到window-size参数,然而实际上这个参数与返回列表中靠前文档并无关系,他只是制定了每个分片应该返回的文档数,而且window_size不能小于页面大小 二次评分功能并不能与排序一起使用,这是因为排序发…
1.为什么使用查询模版 让应用程序开发者只需要把查询传递给elasticsearch,而不需要考虑查询语句的构造.查询DSL语法.查询结果过滤等细节知识. 2.使用版本5.1,查询模版在5.6中发生变化.注意.官网地址  https://www.elastic.co/guide/en/elasticsearch/reference/5.1/search-template.html 3.注册查询模版 方法一:使用配置文件,需要copy到集群所有节点 You can register search…
深入理解ElasticSearch 介绍: 本书涵盖了Elasticsearch的许多中高级功能,并介绍了缓存.ApacheLucene库以及监控等模块的内部运作机制.其中,还涉及一些实用案例,比如配置Elasticsearch参数.使用监控API等. 目录: 前言 第1章 Elasticsearch简介1 1.1 Apache Lucene简介1 1.1.1 熟悉Lucene2 1.1.2 Lucene的总体架构2 1.1.3 分析数据4 1.1.4 Lucene查询语言5 1.2 何为Ela…
前言 通过前面章节的了解,我们已经知道 Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以一个之前从未有过的速度和规模,去探索你的数据.它被用作全文检索.结构化搜索.分析以及这三个功能的组合. Elasticsearch 可以横向扩展至数百(甚至数千)的服务器节点,同时可以处理PB级数据. 虽然说 Elasticsearch 是分布式的,但是对于我们开发者来说并未过多的参与其中,我们只需启动对应数量的 ES 实例(即节点),并给它们分配相同的 cluster.name 让它们…
介绍 在本教程中,我们将去的 Elasticsearch 麋鹿堆栈安装 Ubuntu 14.04 — — 那就是,Elasticsearch 5.2.x,Logstash 2.2.x 和 Kibana 4.4.x.我们也将向你展示如何将其配置为收集和可视化系统日志转移您的系统在一个集中的位置,使用 Filebeat 1.1.x.Logstash 是收集. 分析和存储日志供将来使用开源工具.Kibana 是一个 web 界面,可用于搜索和查看 Logstash 已索引的日志.这两种工具都基于 El…
1.ES是如何实现分布式高并发全文检索 2.简单介绍ES分片Shards分片技术 3.为什么ES主分片对应的备分片不在同一台节点存放 4.索引的主分片定义好后为什么不能做修改 5.ES如何实现高可用容错方案 6.搭建Linux上环境三台ES高可用集群环境 ES是如何解决高并发 ES是一个分布式全文检索框架,隐藏了复杂的处理机制,核心内容 分片机制.集群发现.分片负载均衡请求路由. ES基本概念名词 Cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的…