elasticsearch
文章平均质量分 79
es入门到精通
爱写书的程序员
谦谦君子,温文如玉。
展开
-
ElasticSearch:aggregations 聚合详解
概念ElasticSearch 中聚合的概念,通俗的讲就是将一些数据按照一些条件去统计一些信息,比如统计房间有多少,根据价格区间统计酒店数量这些功能。官网的解释:聚合可以进行各种组合以构建复杂的数据汇总。可以看作是在一组文档上建立分析信息的工作单元,统计一些文档集。聚合可以将一些独立的功能单元可以被混合在一起来满足你的需求,是一种单独的语法。kibana的可视化看板就是非常经典的聚合功能的体现。聚合ElasticSearch 中有许多不同类型的聚合,每种聚合都有自己的目的和输出,大致有四种基本类原创 2020-10-12 00:56:24 · 9135 阅读 · 1 评论 -
ElasticSearch:处理数据的关联关系 nested 父子文档
传统关系型数据库对关联关系的处理对于传统关系型数据库而言,处理数据的关联关系时比较正规的设计是范式化设计与非范式化设计。范式化 (Normalization)范式化设计的主要⽬标是“减少不必要的更新”,一般有三段范式,其实就是本着将两个关联数据模型之间通过主键的处理去划分属性字段,减少不必要的更新处理。关于范式化的概念可以自行去学习。反范式化 (Denormalization)范式化设计带来的一个弊端就是读操作可能会涉及很多表的处理,性能受影响,所以如果我们本来只需要关联对象的一个字段却还得原创 2020-10-05 16:59:12 · 1586 阅读 · 0 评论 -
ElasticSearch: xpack 密码安全验证
背景在阿里云部署了一台 ElasticSearch 节点,9200 端口直接暴露在了公网下,结果三天两头受到攻击,访问 kibana 老出现 redirect 重定向问题不能访问,查看日志索引都被人删除了,所以怀疑可能是因为被人恶意删除了,由此决定使用 xpack安全组件来保护 ElasticSearch。ElasticSearch 默认安装后,本身不提供任何安全保障,这也是被人攻击的原因之一我们为了公网可以访问,配置了 server.host 为 0.0.0.0 这也是被人攻击的原因之一xpa原创 2020-09-25 00:20:44 · 7611 阅读 · 0 评论 -
ElasticSearch:性能优化 searchTemplate查询模板
搜索场景有些时候,对于一些搜索刚入门的同学来说,提升 ElasticSearch 的搜索性能以及如何应对各种场景下的复杂搜索来采用最合适的 DSL,,无疑是非常苦难的。而且对于公司来说,最重要的是如何能够快速的产生业务价值,所以一般差不多点的公司都会有专门的 搜索优化团队来出模板,业务同学只要调用特定的客户端便可以。ElasticSearch 为了提升专业性,专门提供了一种查询API,也就是接下来要介绍的 searchTemplate。SearchTemplateSearchTemplate 是一个原创 2020-09-17 00:04:10 · 1047 阅读 · 0 评论 -
ElasticSearch:深入搜索 QUERY API
Search APIElasticSearch 为了搜索提供了一些原始的 API,通过 HTTP 的方式去请求服务端获取数据,我们这里介绍的是通过请求体来获取数据的API,也就是 Request Body Search API。基于 Term 的查询在 ElasticSearch 中,Term 词项是表达语义的最小单位,无论是倒排索引的建立以及搜索分词都有 Term 词项的概念。基于 Term 词项的查询,意思就是将搜索条件作为一整个词项来进行查询,不会进行任何的分词处理(大小写处理也不会),比如原创 2020-09-14 23:59:41 · 1897 阅读 · 0 评论 -
ElasticSearch:Constant Score 取消忽略搜索算分以及算分规则
ElasticSearch 查询开销ElasticSearch 在查询一个文档的时候,默认会根据倒排索引词项的匹配程度来做一个相关性的算分,每个文档都会做这个分析过程,如果文档数很庞大,这个过程其实是非常消耗性能的,那么是不是有什么办法可以取消掉这个算法过程Constant ScoreElasticSearch 提供了一个查询的 API : Constant Score利用这个API 可以忽略掉算分过程。它的原理是将查询转换成为一个filter 过滤,filter 查询是会走缓存的,所以性能提升是相原创 2020-09-10 00:01:53 · 5495 阅读 · 0 评论 -
ElasticSearch 索引模板 Index Templates 与 Dynamic Template
索引模板在类似日志的场景下,索引模板是非常有效的。一般日志是需要每天都自动生成一个模板的,这样对数据的管理以及集群的性能容灾等都是一个非常有用的帮助。但是每天根据日期都生成一个索引有一个问题,那就是索引的配置,如果每天都是我们自己去手动创建当天的索引,会非常麻烦并且容易出错,所幸的是,ElasticSearch 已经考虑到了这一点并且提出了索引模板的概念,配置好模板之后,只需要每天根据模板去生成索引便好。Index TemplatesIndex Templates 就是 ElasticSearch 帮原创 2020-09-08 00:10:09 · 2030 阅读 · 0 评论 -
ElasticSearch: Search API 查询用法详解
Search APIElasticSearch 为了搜索提供了一些原始的 API,主要是有两大类URL SearchURL Search 类似 http 的get请求,是将请求参数放到 URL 中,比如之前使用的查询文档的接口 get index/_doc/1?prettyRequest Body Search是以JSON的格式去请求参数,有些类似 http 的 post 请求,是将参数封装在请求体中,这种格式更加符合我们的使用期望,查询场景以及满足的查询条件也丰富。URL Search请原创 2020-09-06 00:37:29 · 8875 阅读 · 0 评论 -
ElasticSearch 分词器、自定义分词器以及倒排索引
倒排索引索引(正排索引)索引或者叫做正排索引的概念,想必都不陌生,有个非常经典的例子,就是书本的目录,索引就类似目录,你可以根据目录的页码很方便的找到你所要找到的内容地址。如上这张图片,我们可以很方便的根据目录(索引)来找到这一章节的位置,这就是正排索引,关系型数据库用的就是正排索引,mysql 的 b数构建主键索引树时,其实就是主键ID指向地址。倒排索引倒排索引的出现,是为了解决海量数据搜索的问题出现的。一个搜索引擎,如果有几十亿的数据,你想从这几十亿的数据中捞出你想要的数据,如果按照索引的概原创 2020-09-03 00:34:04 · 2225 阅读 · 0 评论 -
ElasticSearch Mapping 设置详解以及dynamic mapping、自定义mapping
概念Mapping 映射,描述了文档字段的属性以及每个字段的数据类型,比如 string, integer 或 date —以及Lucene是如何索引和存储这些字段的,这就是mapping 映射的功能。这样说可能有些偏概念,我们可以这样来理解,对于mysql数据库来说,每一个表都有一个 schemal 定义,mapping 就是类似 数据库的 schemal,它来描述 索引文档的字段信息。mapping 类似数据库中的 schemal 定义- 定义索引文档中的字段的名称- 定义索引文档中字段的类原创 2020-08-30 17:12:30 · 3901 阅读 · 0 评论 -
ElasticSearch 初识文档与索引、分片
文档Elasticsearch 是 面向文档 的,意味着它存储整个对象或 文档,文档是ElasticSearch 可搜索数据的最小单位。- 文档类似数据库的一条数据记录,有键值对- 文档可以是一条日志,一个电影的描述信息等Elasticsearch 使用 JSON 作为文档的序列化格式,也就是说,文档数据会被 ElasticSearch 以 JSON 的方式存储。- JSON 对象由字段以及属性组成- JSON 对象的每个字段都有对应的字段类型(字符串 / 数值 / 布尔 / 日起 / 范围原创 2020-08-26 00:04:08 · 3129 阅读 · 0 评论 -
ELK 之 Logstash 安装以及 MovieLens数据集的导入
下载地址官网:https://www.elastic.co/cn/downloads/logstash国内镜像:https://www.newbe.pro/Mirrors/Mirrors-Logstash/官网的下载速度是跟乌龟爬的一样,最好还是使用国内的一个镜像,注意下载的时候要与ElasticSearch的版本匹配安装官网是有详细的安装教程的,按照这个教程去走基本就可以启动成功下载解压[root@iZbp17kchfu5kwypzjeyqiZ logstash]# tar xvf l原创 2020-08-18 00:20:24 · 2106 阅读 · 0 评论 -
ELK 之 Kibana 安装以及使用
环境kibana 是与 ElasticSearch 绑定的,所以要想使用kibana,必须先装有 ElasticSearchElasticSearch下载地址官网:https://www.elastic.co/cn/downloads/kibana国内镜像:https://www.newbe.pro/Mirrors/Mirrors-Kibana/官网的下载速度是跟乌龟爬的一样,最好还是使用国内的一个镜像,注意下载的时候要与ElasticSearch的版本匹配安装官网是有详细的安装教程的,原创 2020-08-16 23:37:07 · 1996 阅读 · 0 评论 -
ElasticSearch安装以及使用
环境ElasticSearch 是用java写的,所以安装 ElasticSearch 之前需要先有java环境jdk环境 设置 $JAVA_HOMEElasticSearch各个版本对java的依赖ElasticSearch 5 需要 java 8 以上的版本ElasticSearch 从 6.5 开始支持 java 11ElasticSearch 7 开始内置了java 环境下载地址官网:https://www.elastic.co/cn/downloads/elasticsea原创 2020-08-15 01:57:34 · 2453 阅读 · 0 评论 -
elasticsearc简介
简介Elasticsearch 是一个开源的搜索分析引擎,建立在一个全文搜索引擎库 Lucene 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库。Elasticsearch 使用 Java 编写,它的内部使用 Lucene 做索引与搜索,目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API 来与客户端交互。Elasticsearch为所有类型的数据提供实时搜索和分析。无论是结构化文本还是非结构化文本,数字数据或地理原创 2020-08-13 00:14:59 · 2466 阅读 · 0 评论