
ElasticSearch
文章平均质量分 95
elasticsearch知识总结
敲代码的小小酥
上天,请赐予我平静,去接受我无法改变的;给予我勇气,去改变我能改变的;赐我智慧,分辨两者的区别
展开
-
ElasticSearch(十三)— Elasticsearch索引别名与接口扩充
别名,有点类似数据库的视图,别名一般都会和一些过滤条件相结合,可以做到即使是同一个索引上,让不同人看到不同的数据。别名的访问接口是_alias。或者对于同一个 index,我们给不同人看到不同的数据,如 my_index 有个字段是 team,team 字段记录了该数据是那个 team 的。只要有可能,尽量使用别名,推荐为 Elasticsearch 的每个索引都使用别名,因为在未来重建索引的时候,别名会赋予你更多的灵活性。假设一开始创建的索引只有一个主分片,之后你又决定为索引扩容。原创 2025-02-07 10:55:24 · 878 阅读 · 0 评论 -
ElasticSearch(十二)— Elasticsearch集群
Elasticsearch在保存索引的时候,会把索引数据分成几个文件夹存储。这几个文件夹就是主分片。主分片分布在集群中不同的节点上。每个主分片,会复制多个副本出来,这个副本就是副分片。索引中主分片的数量在创建索引时是固定的,但副本分片的数量可以随时更改,而不会中断索引或查询操作。技术上而言,一份分片是一个目录中的文件,Lucene 用这些文件存储索引数据。分片也是Elasticsearch 将数据从一个节点迁移到另一个节点的最小单位。一份分片是 Lucene 的索引:一个包含倒排索引的文件目录。原创 2025-02-05 14:58:34 · 956 阅读 · 0 评论 -
ElasticSearch(十一)— Elasticsearch中的SQL语句
Elasticsearch在Basic授权中支持以SQL语句的形式检索文档,SQL语句在执行时会被翻译为DSL执行。从语法的角度来看,Elastisearch中的SQL语句与RDBMS中的SQL语句基本一致,所以对于有数据库编程基础的人来说大大降低了使用Elaticsearch的学习成本。Elasticsearch提供了多种执行SQL语句的方法,可使用类似_search样的REST接口执行也可以通过命令行执行。原创 2025-01-20 09:16:13 · 997 阅读 · 0 评论 -
ElasticSearch(十)— 聚集查询3
composite 聚集可以将不同类型的聚集组合到一起,它会从不同的聚集中提取数据,并以笛卡尔乘积的形式组合它们,而每一个组合就会形成一个新桶。在示例中,composite 聚集中通过 soures 参数定义了两个需要组合的子聚集。第一个聚集 avg_price 是一个针对 AvgTicketPrice 以 500 为间隔的 histogam 聚集,第二个则聚集 weather 则一个针对 OriginWeather 的 terms 聚集。原创 2025-01-18 09:00:00 · 1122 阅读 · 0 评论 -
LogStash架构分析
LogStash 是一个的开源数据传输引擎,它像一个两头连接的数据传输管道,将数据实时地从一个数据源传输到另一个数据源中。在数据传输的过程中,LogStash 还可以对数据进行,使数据在到达目的地时直接可用或接近可用,。既然需要将数据搬运到指定的地点,为什么不在数据产生时就将数据写到需要的地方呢?这个问题可以从以下几个方面理解。首先,许多数据在产生时并不支持直接写入到除本地文件以外的其他数据源。比如大多数第三方软件在运行中产生的日志,都以文本形式写到本地文件中。原创 2024-10-22 09:06:07 · 1169 阅读 · 0 评论 -
ElasticSearch(九)— 聚集查询2
如果使用 SQL 语言类比,桶型聚集与 SQL 语句中的 group by 子句极为相似。桶型聚集(Bucket Aggregation)是 Elasticsearch 官方对这种聚集的叫法,它起的作用是根据条件对文档进行分组。可以将这里的桶理解为分组的容器,每个桶都与一个分组标准相关联,满足这个分组标准的文档会落桶中。所以在默认情况下,桶型聚集会根据分组标准返回所有分组,同时还会通过 doc_count 字段返回每一桶中的文档数量。原创 2024-08-09 19:00:00 · 1081 阅读 · 0 评论 -
ElasticSearch(八)— 聚集查询1
聚集查询(Aggregation)提供了针对多条文档的统计运算功能,它不是针对文档本身内容的检索,而是要将它们聚合到一起运算某些方面的特征值。聚集查询与 SQL 语言中的聚集函数非常像,聚集函数在 Elasticsearch 中相当于是聚集查询的一种聚集类型。比如在 SQL 中的 avg 函数用于求字段平均值,而在 Elasticsearch 中要实现相同的功能可以使用 avg 聚集类型。聚集查询也是通过_search 接口执行,只是在执行聚集查询时使用的参数是。原创 2024-07-29 11:37:39 · 1463 阅读 · 0 评论 -
ElasticSearch(七)— 相关性检索和组合查询
全文检索与数据库查询的一个显著区别, 就是它并不一定会根据查询条件做完全精确的匹配。除了模糊查询以外,全文检索还会根据查询条件给文档的相关性打分并排序,将那些与查询条件相关性高的文档排在最前面。相关性( Relevance)或相似性(Similarity)是指两个事物间相互关联的程度,在检索领城特指检索请求与检索结果之间的相关程度。在 Elaticsearch 返回的每条结果中都会包含一个_ score 字段,这个字段的值就是当前文档匹配检索请求的相关性评分,我们也可以称为相关度。原创 2024-07-27 20:19:46 · 1891 阅读 · 0 评论 -
ElasticSearch(六)— 全文检索
前面讲到的query中的查询,都是精准查询。可以理解成跟在关系型数据库中的查询类似。match系列的查询,是全文检索的查询。会通过分词进行评分,匹配,再返回搜索结果。原创 2024-07-25 18:31:33 · 3391 阅读 · 0 评论 -
ElasticSearch(五)— 文本分析与分词
文本分析( analysis )是在文档被发送并加入倒排索引之前,Elasticsearch 在其主体上进行的操作。在文档被加入索引之前,Elasticsearch 让每个被分析字段经过一系列的处理步骤。Elasticsearch 首先运行字符过滤器(char filter)。这些过滤器将特定的字符序列转变为其他的字符序列。这个可以用于将 HTML 从文本中剥离,或者是将任意数量的字符转化为其他字符(也许是将“I love u 2”这种缩写的短消息纠正为“I love you too”。原创 2024-07-25 16:30:40 · 1373 阅读 · 0 评论 -
ElasticSearch(四)— 数据检索与查询
所有的 REST 搜索请求使用_search 接口,既可以是 GET 请求,也可以是 POST请求,也可以通过在搜索 URL 中指定索引来限制范围。_search 接口有两种请求方法,一种是基于 URI 的请求方式,另一种是基于请求体的方式,无论哪种,他们执行的语法都是基于 DSL(ES 为我们定义的查询语言,基于 JSON 的查询语言),只是形式上不同。我们会基于请求体的方式来学习。分页参数,from代表从第几页开始,size代表了返回文档的数量。原创 2024-07-24 11:10:05 · 2711 阅读 · 1 评论 -
ElasticSearch(三)—文档字段参数设置以及元字段
source : 一个 doc 的原生的 json 数据,不会被索引,用于获取提取字段值 ,启动此字段,索引体积会变大,如果既想使用此字段又想兼顾索引体积,可以开启索引压缩。因为在 JSON 中,“6”用来赋给 int 类型的字段,也是能接受的,默认 coerce 为 true,表示允许这种赋值,但如果 coerce 设置为 false,此时 es只能接受不带双引号的数字,如果在coerce=false 时,将“6”赋值给 number_one时会抛出类型不匹配异常。在某些情况下,存储字段是有意义的。原创 2024-07-24 11:09:27 · 1546 阅读 · 1 评论 -
ElasticSearch(二)— 索引和文档的管理操作
同样在检索文档的时候,它们也不会显示在结果中,所以它们一般都是在检索中以查询条件的形式出现,以减少检索时的性能开销。在上面的代码里,我们使用"fields"就把 name 字段扩充为多字段类型,为name 新增了两个子字段 raw 和 length,raw 设置类型为 keyword,length 设置类型为 token_count,告诉 es 这个字段在保存还需要做词频统计。所以对索引,GET 用来查看索引,PUT 用来创建索引,DELETE用来删除索引,还有一个 HEAD 请求,用来检验索引是否存在。原创 2024-07-21 17:48:13 · 1134 阅读 · 0 评论 -
ElasticSearch(一) — 基础知识
Elasticsearch 是一个基于Lucene的分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负载等。广泛应用于全文搜索、日志分析和实时数据分析等领域。重点词汇:可以进行文档的多种聚合、统计分析功能。搜集,分析,查询都提供了restful风格的接口, 用户调用restful接口完成与Elasticearch的几乎所有的操作。1.实时分析。原创 2024-07-21 17:47:43 · 1211 阅读 · 0 评论