elasticsearch
文章平均质量分 91
elasticsearch教程
Young丶
这个作者很懒,什么都没留下…
展开
-
Elastricsearch 索引操作语法命令笔记(索引管理、映射详解、索引别名)
,GET /twitter,可以一次获取多个索引(以逗号间隔) 获取所有索引 _all 或 用通配符*字段的type (Datatype)定义了如何索引存储字段值,还有一些属性可以让我们根据需要来覆盖默认的值或进行特别定义。请参考官网介绍详细了解: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-params.htmlanalyzer 指定分词器normalizer 指定标准化器boost 指定权重值。转载 2021-04-20 14:03:31 · 1452 阅读 · 0 评论 -
全文搜索引擎Elasticsearch,这篇文章给讲透了
之前已经分享过Elasticsearch的使用和原理的知识,由于近期在公司内部做了一次分享,所以本篇主要是基于之前的博文的一个总结,希望通过这篇文章能让读者大致了解Elasticsearch是做什么的以及它的使用和基本原理。生活中的数据搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种:结构化数据 和 非结构化数据。结构化数据: 也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。指具有固定格式或有限长原创 2021-04-19 16:17:12 · 301 阅读 · 0 评论 -
Elasticsearch入常用RESTful API总结
Elasticsearch入坑指南之RESTful APIRESTful API HTTP动词介绍对于资源的具体操作类型,由HTTP动词表示。常用的HTTP动词有下面五个(括号里是对应的SQL命令)。GET(SELECT):从服务器取出资源(一项或多项)。POST(CREATE):在服务器新建一个资源。PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。DELETE(DELETE):从服务器删除资源原创 2020-06-09 14:13:14 · 991 阅读 · 0 评论 -
Elasticsearch之Mapping Meta-Fields
Meta-Fields每个文档都有与之关联的元字段,例如_index、_type和 _id 元字段。 创建映射类型时,可以自定义其中一些元字段的行为。Identity meta-fields(文档标示元字段)_index文档所属的索引。多索引查询时,有时候只需要在特地索引名上进行查询,_index字段提供了便利,也就是说可以对索引名进行term查询、terms查询、聚合分析、使用脚本和排...原创 2020-02-27 16:51:13 · 603 阅读 · 0 评论 -
Elasticsearch之数据建模 Mapping 配置
数据建模英文为 Data Modeling, 为创建数据模型的过程数据模型(Data Model)- 对现实世界进行抽象描述的一种工具和方法- 通过抽象的实体及实体之间联系的形式去描述业务规则,从而实现对现实世界的映射数据建模的过程概念模型- 确定系统的核心需求和范围边界,设计实体和实体间的关系逻辑模型- 进一步梳理业务需求,确定每个实体的属性、关系和约束等物理模型- ...原创 2020-02-24 15:09:08 · 853 阅读 · 1 评论 -
elasticsearch笔记五:2024最新版ES8Java客户端-Elasticsearch Java 的client API 操作 Elasticsearch client 8.0
低级别的 REST 客户端,通过 http 与集群交互,用户需自己编组请求 JSON 串,及解析响应 JSON 串。兼容所有 ES 版本。高级别的 REST 客户端,基于低级别的 REST 客户端,增加了编组请求 JSON 串、解析响应 JSON 串等相关 api。使用的版本需要保持和 ES 服务端的版本一致,否则会有版本问题。原创 2023-12-28 08:56:23 · 18200 阅读 · 5 评论 -
elasticsearch 笔记四:聚合分析 聚合分析简介、指标聚合、桶聚合
聚合分析是数据库中重要的功能特性,完成对一个查询的数据集中数据的聚合计算,如:找出某字段(或计算表达式的结果)的最大值、最小值,计算和、平均值等。ES 作为搜索引擎兼数据库,同样提供了强大的聚合分析能力。对一个数据集求最大、最小、和、平均值等指标的聚合,在 ES 中称为指标聚合 metric而关系型数据库中除了有聚合函数外,还可以对查询出的数据进行分组 group by,再在组上进行指标聚合。在 ES 中 group by 称为分桶桶聚合 bucketing。原创 2023-12-27 09:01:27 · 1142 阅读 · 0 评论 -
elasticsearch 笔记三:查询建议介绍、Suggester、自动完成
查询建议,为用户提供良好的使用体验。主要包括: 拼写检查;自动建议查询词(自动补全)拼写检查如图:: 对给入的文本进行分词,为每个词进行模糊查询提供词项建议,并不会考虑多个term/词组之间的关系。。API调用方只需为每个token挑选options里的词,组合在一起返回给用户前端即可,在Term Suggester的基础上,会考量多个term之间的关系,比如是否同时出现在索引的原文里,相邻程度,以及词频等等,FST数据结构,类似Trie树,不用打开倒排,快速返回,前缀匹配。原创 2023-12-27 09:00:06 · 1751 阅读 · 0 评论 -
elasticsearch 笔记二:搜索DSL 语法(搜索API、Query DSL)
query 元素用 Query DSL 来定义查询。Domain Specific Language:领域特定语言Elasticsearch 基于 JSON 提供完整的查询 DSL 来定义查询。Leaf query clauses 叶子查询字句Leaf query clauses 在指定的字段上查询指定的值, 如:match, term or range queries. 叶子字句可以单独使用.Compound query clauses 复合查询字句以逻辑方式组合多个叶子、复合查询为一个查询。原创 2023-12-26 08:47:05 · 21186 阅读 · 0 评论 -
ElasticSearch 的 mapping 参数 - fields
在 es 中,一个字段可能运用于不同的场景,但是某个字段类型的使用场景是有局限的。原创 2023-12-26 08:46:31 · 19966 阅读 · 0 评论 -
Elasticsearch 8.X 性能如何优化?看这一篇就够了!
Elasticsearch 是实现用户无缝搜索体验的关键工具。它通过提供快速、准确和相关的搜索结果,彻底改变了用户与应用程序的互动方式。然而,要确保 Elasticsearch 部署达到最佳性能,就必须关注关键指标,并对诸如索引、缓存、查询、搜索以及存储等各种组件进行优化。在本博文中,我们将深入探讨如何调整 Elasticsearch 以实现最佳性能和发挥最大潜能的最佳实践与技巧,从优化集群健康、搜索性能和索引,到精通缓存策略和存储选项。转载 2023-07-18 14:16:31 · 20873 阅读 · 0 评论 -
百亿数据,毫秒级返回查询优化
与其说上面列的这些点是 MySQL 的不足,倒不如说 MySQL 本身就不是为海量数据查询而设计的,术业有专攻,海量数据查询还得用专门的搜索引擎,这其中 ES 是其中当之无愧的王者,它是基于 Lucene 引擎构建的开源分布式搜索分析引擎,可以提供针对 PB 数据的近实时查询,广泛用在全文检索、日志分析、监控分析等场景。轻松支持各种复杂的查询条件: 它是分布式实时文件存储,会把每一个字段。原创 2023-02-28 08:45:00 · 55692 阅读 · 0 评论 -
ElasticSearch部署实战架构、容量规划优化
本片文章先介绍了es的部署架构,回顾了es节点类型以及它们的配置方式,也了解了不同类型对硬件的要求不一样。然后总结了几种不同的架构模式,比如基础部署、读写分离、冷热分离、异地多活等架构模式,在生产环境中一般我们推荐读写分离架构模式,如果可以最好加上冷热分离,不过配置可能稍微复杂点。对于容量规划与调优,首先要明确存储的数据量和使用场景,推荐内存磁盘比为搜索类比例(116),日志类(148);比如2T的总数据,搜索如果要保持良好的性能的话,每个节点31*16=496G。每个节点实际有400G的存储空间。...原创 2022-07-31 04:30:00 · 19909 阅读 · 0 评论 -
docker安装Elasticsearch7.6集群并设置密码
docker安装Elasticsearch7.6集群并设置密码Elasticsearch从6.8开始, 允许免费用户使用X-Pack的安全功能, 以前安装es都是裸奔。接下来记录配置安全认证的方法。为了简化物理安装过程,我们将使用docker安装我们的服务。一些基础配置es需要修改linux的一些参数。设置vm.max_map_count=262144sudo vim /etc/sysctl.confvm.max_map_count=262144不重启, 直接生效当前的命令sysctl原创 2021-10-20 11:01:14 · 1495 阅读 · 0 评论 -
Elasticsearch7.x 安装及集群的配置
简介首先引用 Elasticsearch (下文简称 ES)官网的一段描述:Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。 作为 Elastic Stack 的核心,它集中存储您的数据,帮助您发现意料之中以及意料之外的情况。本文主要介绍 Elasticsearch 集群的搭建。通过在一台服务器上创建 3 个 ES 实例来创建一个建议的 ES 集群。Elasticsearch/ES官方的Elasticsearch Referen原创 2021-10-20 10:25:37 · 1293 阅读 · 0 评论 -
Elasticsearch 常用配置参数总结
# ---------------------------------- Cluster -----------------------------------# Use a descriptive name for your cluster: # 集群名称,用于定义哪些elasticsearch节点属同一个集群。cluster.name: bigdata # ------------------------------------ Node --------------------------转载 2021-04-20 09:54:43 · 3167 阅读 · 0 评论 -
别再说你不会 ElasticSearch 调优了,都给你整理好了
第一部分:调优索引速度第二部分:调优搜索速度第三部分:通用的一些建议英文原文:https://www.elastic.co/guide/en/elasticsearch/reference/current/how-to.htmlES发布时带有的默认值,可为es的开箱即用带来很好的体验。全文搜索、高亮、聚合、索引文档 等功能无需用户修改即可使用,当你更清楚的知道你想如何使用es后,你可以作很多的优化以提高你的用例的性能,下面的内容告诉你 你应该/不应该 修改哪些配置第一部分:调优索引速度.转载 2021-04-20 09:40:44 · 591 阅读 · 0 评论 -
Elasticsearch: 索引别名Aliases
业务问题业务需求是不断变化迭代的,也许我们之前写的某个业务逻辑在下个版本就变化了,我们可能需要修改原来的设计,例如数据库可能需要添加一个字段或删减一个字段,而在搜索中也会发生这件事,即使你认为现在的索引设计已经很完美了,在生产环境中,还是有可能需要做一些修改的,需要添加映射字段或者需要修改字段类型等等。数据库中我们可以直接修改原来的表设计语句,前提是需要做好数据迁移。但是在 Elasticsearch 中就没那么简单了。尽管可以增加新的类型到索引中,或者增加新的字段到类型中,但是不能添加新的分析器或者对原创 2021-04-19 18:11:12 · 631 阅读 · 0 评论 -
Filebeat
Filebeat 简介filebeat概述Filebeat是本地文件的日志数据发送者。作为服务器上的代理安装,Filebeat监视日志目录或特定的日志文件,tails文件,并转发到Elasticsearch或Logstash索引。Filebeat是一个Beat,它是基于libbeat框架。工作原理:启动Filebeat时,它会启动一个或多个Prospectors(查找器),查看日志文件指定...原创 2020-03-12 23:07:46 · 1527 阅读 · 0 评论 -
Logstash(四)插件Output详解
Output Plugin负责将Logstash事件输出,常见的插件如下- stdout-file,- elasticsearchOutput Plugin – stdout输出到标准输出,多用于调试Output Plugin – file输出到文件,实现将分散在多地的文件统一到一处的需求,比如将所有web机器的web日志收集到1个文件中,从而方便查阅信息Output Plugi...原创 2020-03-05 02:15:37 · 2319 阅读 · 0 评论 -
Logstash(三)filter插件简介
Filter PluginFilter是Logstash功能强大的主要原因,它可以对Logstash Event进行丰富的处理,比如解析数据、删除字段、类型转换等等,常见的有如下几个:date日期解析grok正则匹配解析dissect分割符解析mutate对字段作处理,比如重命名、删除、替换等json按照json解析字段内容到指定字段中geoip增加地理位置数据ruby利用r...原创 2020-03-05 01:22:43 · 1429 阅读 · 0 评论 -
Logstash(二)input、codec插件详解
inputinput 插件指定数据输入源,一个pipeline可以有多个input插件,我们主要讲解下面的几个input插件: - stdin - file - kafkaInput Plugin – stdin最简单的输入,从标准输入读取数据,通用配置为:codec类型为codec-type类型为string ,自定义该事件的类型,可用于后续判断Logsta...原创 2020-03-04 22:06:34 · 2337 阅读 · 0 评论 -
Logstash(一)的入门与运行机制
Logstash介绍数据收集处理引擎ETL工具数据收集处理引擎-Logstash 在数据收集处理中的位置如下图(框架简介)。Logstash 能够动态地采集、转换和传输数据,不受格式或复杂度的影响。利用 Grok 从非结构化数据中派生出结构,从 IP 地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。...原创 2020-03-02 23:24:27 · 1375 阅读 · 0 评论 -
Elasticsearch之深入了解Doc Values 和 Fielddata
DocValues什么是DocValues简单说明DocValues就是一个种列式的数据存储结构(docid、termvalues)。倒排索引的优势在于查找包含某个项的文档,即通过Term查找对应的docid。Field 的倒排FieldDoc_1Doc_2Doc_3brownXXdogXField2 的倒排Field2...原创 2020-02-28 16:12:01 · 2616 阅读 · 1 评论 -
Elasticsearch之聚合分析
聚合分析英文为 Aggregation,是 es 除搜索功能为提供的针对 es数据做统计分析的功能- 功能丰富,提供Bucket,Metric、Pipeline等多种分析方式,可以满足大部分的分析需求- 实时新高,所有的计算结果都是即时返回的,而Hadoop的大数据系统一般都是T+1级别的聚合分析作为 search的一部分,api如下所示:请告诉我公司目前在职人员工作岗位的分布情...原创 2020-02-21 19:38:47 · 1039 阅读 · 0 评论 -
Elasticsearch之分页变量
es 提供了3种方式来解决分页与遍历的问题:- from/size- scroll- search_afterForm/Size最常见的分页方案- from指明开始位置- size 指明获取总数原创 2020-02-20 13:55:49 · 560 阅读 · 0 评论 -
Elasticsearch之深入了解Search的运行机制
Search 执行的时候实际分两个步骤运作的- Query 阶段- Fetch 阶段Query-Then-FetchQuery阶段Fetch阶段相关性算分问题相关性算分在shard与shard间是相互独立的,也就意味着同一个term的IDF值在不同shard上是不同的。文档的相关性算分和他所处的shard相关在文档数量不多是,会导致相关性算分严重不准的情况发生解决思路有...原创 2020-02-15 09:56:02 · 504 阅读 · 0 评论 -
Elasticsearch之分布式介绍
Search API实现对es中存储的数据进行查询分析,endpoint为 _search,如下图所示:查询主要有两种形式- URI Search- 操作简便,方便通过命令行测试- 仅包含部分查询语法- Request Boy Search- es 提供的完备查询语法 Query DSL (Domain Specific Language)通过 url query 参数来实现...原创 2020-02-12 10:12:04 · 963 阅读 · 0 评论 -
Elasticsearch之Search API
分布式特性es支持集群模式,是一个分布式系统,其好处主要有两个:- 增大系统容量,如内存、磁盘、使得es集群可以支持PB级的数据- 提高系统可用性,即使部分节点停止服务,整个集群依然可以正常服务es 集群由多个es实例组成- 不同集群通过集群名字来区分,可通过cluster.name 进行修改,默认elasticsearch- 每个es实例本质上是一个JVM进程,且有自己的名字,通过...原创 2020-02-11 21:38:43 · 1087 阅读 · 1 评论 -
Elasticsearch之Mapping
Mapping类似数据库中的表机构定义,主要作用如下:- 定义Index下的字段名(FieldName)- 定义字段的类型,比如数值型、字符串型、布尔型等- 定义倒排索引相关的配置,比如是否索引、记录position等自定义Mapping自定义Mapping的api如下所示- Mapping 中的字段类型一旦设定后,禁止直接修改,原因如下:- Lucene 实现的倒排索引生成后...原创 2020-02-11 11:06:43 · 570 阅读 · 0 评论 -
Elasticsearch之分词
分词分词是指将文本装换成一系列单词(term or token)的过程,也可以叫做文本分析,在es里面称为Analysis,如下图所示:分词器是es中专门处理分词的组件,英文为Analyzer,他的组成如下:- Character Filter- 针对原始文本进行处理,比如去除html特殊标记符- Tokenizer- 将原始文本按照一定规则切分为单词- Token Filte...原创 2020-02-10 14:40:00 · 934 阅读 · 0 评论 -
Elasticsearch之倒排索引
搜索引擎正排索引- 文档Id到文档内容、单词的关联关系-文档ID文档内容1elasticsearch是最流行的搜索引擎2php是世界上最好的语言3搜索引擎是如何诞生的倒排索引- 单词到文档Id的关联关系单词文档ID列表elasticsearch1流行1搜索引擎1,3php2世界2...原创 2020-02-10 10:39:20 · 715 阅读 · 0 评论 -
ElasticSearch教程——汇总篇
环境搭建篇ElasticSearch教程——安装ElasticSearch教程——安装Head插件ElasticSearch教程——安装IK分词器插件ElasticSearch教程——安装Kibana 基础操作ElasticSearch教程——Kibana简单操作ESElasticSearch教程——批量处理(mget和bulk)ElasticSearch教程——ki...原创 2019-12-19 10:33:35 · 549 阅读 · 0 评论 -
Elasticsearch快速入门
elasticsearch抽象类比MySqlEsTableIndex(Type)RowDocumentColumnFieldSchemaMappingSQLDSL一些概念#cluster(集群)#一个 ES 集群由一个或多个节点(Node)组成,每个集群都有一个 cluster name 作为标识。node(节点)#一个 ES...原创 2019-12-18 14:53:35 · 1411 阅读 · 0 评论 -
elasticsearch安装与配置介绍
基本概念集群:一个或者多个elasticsearch节点组成的集合索引:含有相同属性的文档集合,例如一个索引代表消费者数据,一个索引代表产品数据(相当于MySQL的database)类型:索引可以定义一个或多个类型,通常定义有相同字段的文档作为一个类型,文档必须属于一个类型(相当于MySQL的table)文档:文档是可以被索引的基本数据单位,例如一个用户的基本信息,一片文章的数据,...原创 2019-12-18 13:35:32 · 646 阅读 · 0 评论