![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Elasticsearch
文章平均质量分 65
大·风
想起来什么就写点什么。
展开
-
Logstash——Logstash向Email发送告警邮件
email数据输出logstash的输出插件中提供了email的数据输出来源。这样当logstash遇见需要预警的内容时候,可以通过邮件向指定用户发送警报信件。可配置参数关于email的参数有下面几个字段参数类型说明addressstring邮件的服务器地址usernamestring用来验证服务器的用户名passwordstring用于验证服务器的密码portnumber用于与邮件服务器通信的端口authenticationstrin原创 2020-05-28 22:40:35 · 3051 阅读 · 1 评论 -
Elasticsearch映射——映射到底设置了什么?
关于版本内容版本Elasticsearch版本7.2.0JAVA依赖版本7.2.1索引映射索引的映射相当于数据库中的表结构,这里我之前在相关文章中已经接单介绍过了Elasticsearch基础04——映射的操作。只不过当时只是简单介绍了下映射的相关操作,并没有详细介绍映射包含哪些内容。映射的创建和传统数据库不同,传统的数据库我们尝试向表中插入数据的前提是...原创 2019-12-31 21:31:12 · 1737 阅读 · 0 评论 -
Elasticsearch查询——Sort(查询排序)
Sort 查询排序测试索引Elasticsearch针对普通数据、数组、嵌套对象、地理位置都提供了排序功能,为了测试其排序方式我们需要可以能够足够数据类型的索引。所以创建了下面一个索引以及其映射PUT offline_salesPUT offline_sales/_mapping{ "properties": { "order_id": { ...原创 2019-12-26 22:54:30 · 32411 阅读 · 2 评论 -
Elasticsearch查询——highlight(高亮显示)
Highlighters 高亮显示日常生活中我们使用搜索工具尝试查询一些信息的时候,常常可以看到返回的结果集中和我们查询条件相符合的字段被特殊的颜色所标记,这就是结果高亮显示。通过高亮显示用户可以明显的发现查询匹配的位置,ES使用highlight来实现搜索结果中一个或多个字段突出显示。高亮显示需要字段中的内容,如果没有存储字段store=true,则加载实际的_source并从_sour...原创 2019-12-24 21:52:02 · 34942 阅读 · 2 评论 -
Elasticsearch查询——Profile API(性能分析)
Profile API 性能分析平时开发的过程中我们可能需要对一些查询操作进行优化,而优化之前的工作就是要对操作的性能进行分析,而ES提供了Profile API来帮助用户进行性能分析。它让用户了解如何在较低的级别执行搜索请求,这样用户就可以理解为什么某些请求比较慢,并采取措施改进它们。需要注意的是Profile API不测量网络延迟、搜索资源获取阶段、请求在队列中花费的时间或在协调节点上合并...原创 2019-12-22 22:22:29 · 13836 阅读 · 3 评论 -
Elasticsearch查询——Search Template(模板查询)
关于版本内容版本Elasticsearch版本7.2.0ES模板搜索——Search Template日常开发中我们可能需要频繁的使用一些类似的查询。为了减少重复的工作,我们可以将这些类似的查询写成模板,在后续只需要传递不同的参数来调用模板获取结果。模板的保存和删除创建一个简单的模板下面例子中是创建了一个ID为order_id_template的简单模板。因为...原创 2019-12-19 23:48:14 · 15931 阅读 · 4 评论 -
Elasticsearch查询——URI Search(简单查询字符串)
简单查询字符串——URI Search实际业务中我们通常都是使用一个完整的请求体从elasticsearch获得数据。然而在有些时候我们为了调试系统或者数据的时候需要临时进行一些简单的查询时候,编写完整的请求体JSON可能会稍微麻烦。而elasticsearch提供了一种基于URI的简单的查询方式。虽然略显简陋,但是对于日常调试来说是一个比较方便的选择。查询支持的参数即使是基于URI的一行代...原创 2019-12-18 21:58:18 · 1045 阅读 · 0 评论 -
Elasticsearch摄取节点(十)——GeoIP以及Grok处理器
IP解析处理器(GeoIP Processor)处理器作用GeoIP Processor主要是根据IP地址解析出具体的地理位置信息的处理器。此处理器需要配合Maxmind数据库中的数据。ingest-geoip模块附带的GeoLite2 City、GeoLite2 Country和GeoLite2 ASN geoip2数据库,这些数据来自Maxmind。geoip处理器可以与Maxmind...原创 2019-12-18 20:52:10 · 2571 阅读 · 0 评论 -
Elasticsearch脚本使用
如何使用Elasticsearch脚本Elasticsearch默认脚本语言为Painless。其他lang插件使您可以运行以其他语言编写的脚本。语言沙盒是否需要插件备注painless是内置的默认脚本语言expression是内置的快速的自定义排名和排序mustache是内置的范本脚本语法"script": { "lang...原创 2019-12-14 15:10:07 · 2106 阅读 · 0 评论 -
Elasticsearch安全策略-开启密码账号访问
关于版本内容版本Elasticsearch版本7.2.0Elasticsearch 启用安全策略根据官方文档,Elasticsearch 启用安全策略需要下面的步骤。验证当前版本是否支持安全功能是否打开安全设置基于FIPS的一些验证配置节点间通讯传输的安全性配置内置用户的密码选择用户验证用户身份的领域类型设置角色和用户以控制...原创 2019-12-14 11:33:53 · 21680 阅读 · 7 评论 -
Elasticsearch摄取节点(九)——安全用户、浏览器信息、自定义脚本处理器
安全用户、浏览器信息、自定义脚本处理器1. Script Processor此处理器允许在接收管道中执行内联和存储的脚本2. Set Security User Processor此处理器,将当前经过身份验证的用户的用户相关详细信息(如用户名、角色、电子邮件、全名和元数据)设置为当前文档。3. User Agent processor此处理器从浏览器随其web请求发送的用户代理字符串中...原创 2019-12-13 22:44:09 · 339 阅读 · 0 评论 -
Elasticsearch摄取节点(八)——数据解析处理器
解析处理此类主要是对文档中字段内容进行解析,根据指定的格式获取字段内容中的数据。此类处理器主要包含1. Dissect Processor此处理器根据预设的格式从文档中的单个文本字段中提取结构化字段。dissect不使用正则表达式。这使得dissect语法简单,在某些情况下比Grok处理器更快2. Dot Expander Processor此处理器将文档字段中带.的内容展开为对象,该处...原创 2019-12-11 22:33:16 · 542 阅读 · 0 评论 -
Elasticsearch摄取节点(七)——需要配合业务逻辑的处理器
需要配合业务逻辑的处理器此类处理器没有对值的修改和解析,但是会执行某些行为,类似循环、异常处理相关,需要配合实际业务逻辑的处理。此类处理器主要包含1. Date Index Name Processor该处理器可以根据文档中的日期或者时间戳将文档指向基于时间的索引。处理器根据设置的索引名称前缀,将文档中的日期或者时间戳用日期数学索引名称表达式设置到索引元数据中。2. Drop Proces...原创 2019-12-10 20:43:47 · 373 阅读 · 0 评论 -
Elasticsearch摄取节点(六)——和数组相关的处理器
数组内容处理此内容主要包括下面四种处理器Append Processor 追加处理器Join Processor 加入处理器Split Processor 分割处理器Sort Processor 排序处理器数组内容追加处理(Append Processor)处理器作用如果字段是一个数组,将指定的一个或多个值追加到现有字段中,如果不存在则创建包含所提供值的数组。可选参...原创 2019-12-09 23:06:14 · 503 阅读 · 0 评论 -
Elasticsearch摄取节点(五)——参数转换处理器
转换处理Bytes Processor 字节处理器Convert Processor 转换处理器Date Processor 日期处理器JSON Processor JSON处理器URL Decode Processor URL解码处理器字节转换处理器(Bytes Processor)处理器作用将可读的字节值(如1kb)转换为其实际的字节数值值(如1024)。可读的字节单...原创 2019-12-06 21:44:19 · 561 阅读 · 0 评论 -
Elasticsearch摄取节点(四)——参数修改处理器
参数修改处理器此类主要是对文档中字段进行类型转换或者数据转换,其并不修改字段中实际的结果而是将其转换成目标格式。此类处理器主要包含1. HTML Strip Processor2. Lowercase Processor3. Uppercase Processor4. Trim Processor5. Set ProcessorHTML标签处理器(HTML Strip Pro...原创 2019-12-02 23:37:04 · 388 阅读 · 0 评论 -
Elasticsearch摄取节点(三)——管道处理器(Processor)介绍
管道处理器之前介绍摄取节点的管道。而管道中具体的处理逻辑取决于其处理。目前在7.X版本中一共存在三十二个不同的处理器。处理两个属于X-Pack的一共是三十个目前存在的管道处理器管道处理器处理器名称HTML Strip ProcessorHTML标签处理器Lowercase Processor小写处理器Uppercase Processor大写处理器...原创 2019-12-02 21:21:29 · 2493 阅读 · 0 评论 -
Elasticsearch摄取节点(一)——管道(pipeline)介绍
摄取节点的作用之前在介绍ES集群的时候,曾经介绍过集群中存在一个摄取节点,在数据保存到文档索引之前,我们可能需要对文档进行预处理,而摄取节点会拦截这些请求,根据需要将文档中的内容进行处理然后传递会索引或者API中。摄取节点的配置默认配置下所有节点都启用了ingest。因此任何一个ES节点都可以处理ingest任务。就像之前ES集群中描述的,我们可以创建一个专门处理相关业务的ingest节点。...原创 2019-11-26 22:29:15 · 4120 阅读 · 0 评论 -
Elasticsearch摄取节点(二)——管道(pipeline)的使用
管道的使用管道中对文档数据的访问对文档字段的操作假如需要对文档中某些字段进行操作,只需要在field中指定字段名称或者通过_source前缀进行访问。使用官方提供的_simulate模拟操作我们可以很轻松的看到其效果。下面内容一个直接访问foo,一个通过_source.boo对文档数据进行操作的例子POST _ingest/pipeline/_simulate{ "pipeli...原创 2019-11-27 23:39:02 · 1762 阅读 · 1 评论 -
Elasticsearch基础16——开发模式和生产模式
Elasticsearch开发模式和生产模式模式切换在默认配置中,Elasticsearch绑定到用于HTTP 和传输通信的环回地址。对于个人练习和开发来说无需配置其他网络内容,使项目运行变得简单。但是对于生产来说,因为要保证高可用,需要加入集群。每个节点需要部署在不同的主机上,这就使得非环回地址加入集群,节点必须将传输绑定到非环回地址,并且不能使用单节点发现。所以Elasticsearc...原创 2019-11-21 23:13:35 · 974 阅读 · 0 评论 -
Elasticsearch基础15——Elasticsearch集群健康管理
Elasticsearch关于集群的API查看集群健康状态请求地址GET /_cat/health?v请求结果参数含义参数说明status集群状态,red红色表示集群不可用,yellow黄色表示集群可用但是不是高可用,green绿色表示集群正常node.tota节点数node.data数据节点的数量shards数据分片数量pri...原创 2019-11-18 22:10:33 · 509 阅读 · 0 评论 -
Elasticsearch基础14——Elasticsearch集群搭建
es集群的搭建复制文件在 elasticsearch安装 章节中我们已经安装了一套elasticsearch实例。现在我们将此实例复制成三份。分别为node-a,node-b,node-c。修改配置注意:在ES 6.x和更早的版本中,还有一些其他以 discovery.zen.*开头的选项,允许你配置 Zen Discovery 的行为。其中一些设置不再有效,已被删除。其他的已经改名。如...原创 2019-11-17 16:40:32 · 311 阅读 · 0 评论 -
Elasticsearch基础13——Elasticsearch集群
Elasticsearch集群的概念集群的作用高可用高可用(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可 用性是99%。负载均衡将流量均衡的分布在不同的节点上,每个节点都可以处理一部分负载,并且可以在节点之间动态分配负载,以实现平衡...原创 2019-11-17 12:18:35 · 487 阅读 · 1 评论 -
Elasticsearch基础11——索引之别名使用
Elasticsearch的别名别名的作用在之前的文章中,介绍过Elasticsearch索引创建之后,假如尝试修改字段的类型的时候,除了重建索引之外没有别的办法。假如我们尝试重建一个新的索引并把数据迁移过去,就会出现一个问题,当我们完成数据迁移的时候可能会需要重启我们的环境,将查询目标指向新的索引。假如这个业务已经运行在生产环境中,我们不得不进行一次停机升级。这个对于我们系统的运行来说显然...原创 2019-11-08 22:06:10 · 11105 阅读 · 4 评论 -
Elasticsearch嵌套字段的聚合操作
数据库字段在之前介绍Elasticsearch字段的时候介绍过Elasticsearch的嵌套字段。在日常使用中,针对嵌套类型的聚合操作和普通字段类型有些许的不同。嵌套类型nested是ES对对象数组设置的类型,它可以对对象数组进行索引。我们插入一个这样的数据。{ "group" : "fans", "user" : [ { "first" : "Jo...原创 2019-11-05 22:04:13 · 7690 阅读 · 7 评论 -
Elasticsearch基础10——聚合分析
聚合查询在使用关系型数据库的时候,常常会用到group by等操作进行分组求和、求平均的操作。而Elasticsearch同样提供了分组计算的能力。关系型数据库中使用Group by进行分组计算在Elasticsearch中成为桶聚合。数据准备使用聚合查询之前几篇的数据可能不太适合,现在重新模拟一些数据。新建索引PUT localhost:9200/employee新建映射PU...原创 2019-11-04 01:10:42 · 2465 阅读 · 2 评论 -
Elasticsearch基础09——search查询API
es的其他查询方式term查询的API主要用于结构化的数据,比如keyword或者number或者date。对于text字段不适用term的查询。和之前介绍的分词查询不同,term的查询一般都是精确查找,所以很多用于日期或者数字等字段上。精准匹配下面是一个简单的例子,在之前模拟数据的基础上尝试查询城市名称为北京的城市,可以使用下面的请求请求POST localhost:9200/city...原创 2019-11-03 15:16:23 · 1021 阅读 · 0 评论 -
Elasticsearch基础08—— 简单的搜索
关于版本内容版本Elasticsearch版本7.2.0JAVA依赖版本7.2.1Elasticsearch 7.x 和之前版本有相当大的变化,所以本篇内容尤其是JAVA代码的操作对于使用旧版本的同学帮助可能不大。因为本人主要是JAVA开发,在介绍相关操作的时候会附带JAVA代码操作的逻辑。ES的简单搜索精确查找和短语匹配精确查找(()term词...原创 2019-10-30 21:01:02 · 399 阅读 · 0 评论 -
Elasticsearch基础07——Elasticsearch的文档操作
关于版本内容版本Elasticsearch版本7.2.0JAVA依赖版本7.2.1Elasticsearch 7.x 和之前版本有相当大的变化,所以本篇内容尤其是JAVA代码的操作对于使用旧版本的同学帮助可能不大。因为本人主要是JAVA开发,在介绍相关操作的时候会附带JAVA代码操作的逻辑。新增文档完成了索引和映射的创建之后,我们就可以向ES实例中插...原创 2019-10-27 22:49:12 · 320 阅读 · 0 评论 -
Elasticsearch基础06——分词器
分词器分词器的主要作用将用户输入的一段文本,按照一定逻辑,分析成多个词语的一种工具。之前介绍Elasticsearch字段的时候知道字符串中的text类型需要配合分词器进行查询。这一篇就简单的介绍下我们日常接触的分词器。Elasticsearch本身就内置了一些分词器,但是它也提供了让我们自己安装分词器的功能。内置分词器这里主要介绍的其内置的分词器词语分词词语分词是日常经常使用的分...原创 2019-10-24 20:34:33 · 867 阅读 · 0 评论 -
Elasticsearch基础05——字段类型
关于版本内容版本Elasticsearch版本7.2.0之前介绍了Elasticsearch关于数据结构的介绍,这里主要介绍下Elasticsearch对于数据类型的定义。Elasticsearch 数据类型Elasticsearch整体将数据划分为:核心数据类型复杂数据类型地理数据类型专业数据类型数组多字段核心数据类型字符串字符串在之前的版...原创 2019-10-23 23:06:24 · 904 阅读 · 0 评论 -
Elasticsearch基础04——映射的操作
关于版本内容版本Elasticsearch版本7.2.0JAVA依赖版本7.2.1Elasticsearch 7.x 和之前版本有相当大的变化,所以本篇内容尤其是JAVA代码的操作对于使用旧版本的同学帮助可能不大。因为本人主要是JAVA开发,在介绍相关操作的时候会附带JAVA代码操作的逻辑。映射的操作映射的创建时基于索引的,你必须要先创建索引才能创建映...原创 2019-10-22 22:15:22 · 702 阅读 · 0 评论 -
Elasticsearch基础03——索引的操作
关于版本内容版本Elasticsearch版本7.2.0JAVA依赖版本7.2.1Elasticsearch 7.x 和之前版本有相当大的变化,所以本篇内容尤其是JAVA代码的操作对于使用旧版本的同学帮助可能不大。因为本人主要是JAVA开发,在介绍相关操作的时候会附带JAVA代码操作的逻辑。Elasticsearch的APIElasticSearch提...原创 2019-10-21 20:41:09 · 962 阅读 · 0 评论 -
Elasticsearch基础02——Elasticsearch的安装
下载资源访问官网:https://www.elastic.co/guide/en/elastic-stack/7.x/index.html选择你需要下载的版本点击installing the Elastic Stack下载资源=选择Elasticsearch 的install instructions,下载elasticsearch选择你的操作系统。这里因为后续演示都是基于linu...原创 2019-10-20 18:22:08 · 1538 阅读 · 0 评论 -
Elasticsearch基础01——Elasticsearch的介绍
elasticsearch基本概念LuceneLucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎介绍Elasticsearch就需要先介绍Lucene。上面内容是百度上的词条。从上面我们可以知道Lucene是个全文检索、...原创 2019-10-20 10:44:46 · 372 阅读 · 0 评论 -
Elasticsearch基础—— API介绍(JAVA)
Elasticsearch JAVA API下面内容是,官方文档的整理,想了解详细的内容可以访问官方文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/index.html客户端连接Elasticsearch Java API 存在多种Client连接方式TransportClient和Res...原创 2019-10-09 23:07:07 · 2981 阅读 · 0 评论