![](https://img-blog.csdnimg.cn/1ab3d60386ce45b180b0948153d3e090.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
elasticsearch
文章平均质量分 94
该专栏记录我学习es的过程
雨~旋律
持续学习
展开
-
Elasticsearch(一)--Elasticsearch概述
当前,很多应用都有搜索功能。Lucene作为“老牌”的搜索技术库,它提供的很多功能都能用于处理文本类型的数据。但是使用Lucene结构搜索引擎需要使用者熟悉搜索引擎的很多知识,对使用者的要求非常高,并且Lucene仅仅提供了基础的搜索引擎支持,而对搜索的分布式,容错性和实时性并不支持。ES是建立在Lucene基础之上的分布式准实时搜索引擎,它所提供的诸多功能 中有一大优点,即实时性好。怎样才算实时性好呢?原创 2023-01-13 11:03:49 · 1334 阅读 · 0 评论 -
Elasticsearch(十五)搜索---搜索匹配功能⑥--基于地理位置查询
随着互联网+的热门,越来越多的传统行业将全部或者部分业务转移到互联网上,其中不乏一些和地理位置强相关的行业。基于地理位置的搜索功能,大大提升了人们的生活和工作效率。例如,外出旅行时,只需要用手机打开订酒店的应用软件,查找附近心仪的酒店下单即可;又或者打车行业,人们不用在寒冷的户外拦截出租车,只需要在室内打开打车APP定位到当前位置,然后确定目的地,系统就可以为附近的车辆派发订单。幸运的是,ES为用户提供了基于地理位置的搜索功能。原创 2023-10-24 17:41:12 · 1739 阅读 · 0 评论 -
Elasticsearch(二)--Elasticsearch客户端讲解
Kibana是ELK家族中一个开源、免费的可视化数据搜索和分析平台。借助KIbana,用户不需要编码就可以将ES中分析的结果进行可视化呈现,如以常用的饼图、柱状图和时序图等方式呈现。除了可视化数据分析功能,Kibana还提供了Dev Tools,它是一款可以与ES进行交互式请求的工具,可以借助它进行DSL调试。ES和客户端的通信通过HTTP进行,用户可以使用任意语言完成搜索。此外,ES提供了多种编程语言的API,从客户端连接到搜索DSL构建,再到搜索结果的解析,使用这些API可以更好地完成搜索。原创 2023-01-16 09:28:58 · 2740 阅读 · 0 评论 -
elasticsearch(三)-- 理解ES的索引操作
上一章我们主要学习了es的几个客户端,那么我们后面也主要通过kibana客户端、HighLevelClient高级客户端这两个来学习es.这一章的学习我们主要是学习一些Elasticsearch的基础操作,主要是深入一些概念,比如索引的具体操作,映射的相关语法,对数据类型,文档的操作。那么主要的DSL代码的实践都将在kibana客户端上实践。本节主要介绍索引的相关操作,涉及创建、删除、关闭和打开索引,以及索引别名的操作。其中,索引别名的操作在生产环境中使用比较广泛,可以和关闭或删除索引配合使用。在生产环境原创 2023-01-17 09:36:29 · 2398 阅读 · 0 评论 -
Elasticsearch(四)--一文弄懂ES的映射操作
如商品是否售罄,房屋是否已租,酒店房间是否满房等。原创 2023-01-18 13:31:47 · 3623 阅读 · 0 评论 -
Elasticsearch(五)--ES文档的操作(上)---写入文档
使用ES构建搜索引擎时需要经常对文档进行操作,除了简单的单条文档操作,有时还需要进行批量操作。我们这章主要学习ES文档的增删改的操作,由于涉及到的代码量会比较多,所以分为3篇文章分别说明文档的这个三个操作。那么我们对文档操作的学习除了在kibana客户端之外,还会涉及到java的highLevelClient相应的操作代码。那么话不多说,我们直接开始下面的学习、原创 2023-01-28 10:35:12 · 3366 阅读 · 1 评论 -
Elasticsearch(六)--ES文档的操作(中)---修改文档
我们了解了ES的插入和批量插入文档的操作,分别通过ES的kibana客户端以及Java高级Rest客户端进行学习,那么本篇则进入到对文档的修改操作,同新增文档,也有更新单条文档和批量更新文档操作,但还多出一个根据条件更新文档,我们本篇均会涉及到。原创 2023-01-29 14:42:31 · 3771 阅读 · 0 评论 -
Elasticsearch(七)--ES文档的操作(下)---删除文档
我们了解了ES的修改文档的操作,也同样分别通过ES的kibana客户端以及Java高级Rest客户端进行学习,那么本篇末尾要给大家介绍的是对文档的删除操作,同新修改文档,也有删除单条文档和批量删除文档操作,根据条件删除文档,我们本篇均会涉及到。原创 2023-01-30 15:12:33 · 6851 阅读 · 0 评论 -
Elasticsearch(八)搜索---搜索辅助功能(上)--指定搜索返回字段,结果计数和分页
前面我们已经将ES的基础操作(索引,映射,文档)学习过了,从这一章开始,我们便开始学习ES的最大的功能—搜索ES为用户提供了丰富的搜索功能:既有基本的搜索功能,又有搜索建议功能;既有常用的普通类型的匹配功能,又有基于地理位置的搜索功能;既提供了分页搜索功能,又提供了搜索的调试分析功能等等。这些都会在这一大章中学习到。但是考虑到搜索涉及到的章节确实非常多,于是我仍然像之前基础操作一样,拆解成一些章节供大家更容易吸收学习那么这一节我们主要学习ES的搜索辅助功能。例如,为优化搜索功能,需要指定搜索的一部分字段原创 2023-02-08 14:04:34 · 3345 阅读 · 0 评论 -
Elasticsearch(九)搜索---搜索辅助功能(下)--搜索性能分析
我们学习了ES的搜索辅助功能的一部分–分别是指定搜索返回的字段,搜索结果计数,分页,那么本次我们来学习一下ES的性能分析相关功能。原创 2023-02-09 19:05:29 · 1280 阅读 · 0 评论 -
Elasticsearch(十)搜索---搜索匹配功能①--查询所有文档和term级别查询
之前的学习我们已经了解了搜索的辅助功能,从这一章开始就是ES真正核心的功能,搜索。针对不同的数据类型,ES提供了很多搜索匹配功能:既有进行完全匹配的term搜索,也有按照范围匹配的range搜索;既有进行分词匹配的match搜索,也有按照前缀匹配的suggesr搜索。我们同样也会通过在kibana上进行DSL的搜索示例,也会给出java客户端的使用代码。本节我们将介绍两个场景:查询所有文档和term级别的查询。原创 2023-06-20 15:02:13 · 2396 阅读 · 0 评论 -
Elasticsearch(十一)搜索---搜索匹配功能②--range查询和exists查询
继上一节学习了ES的搜索的查询全部和term搜索后,此节将把搜索匹配功能剩余的2个学习完,分别是range搜索和exists搜索。原创 2023-06-21 15:15:28 · 3201 阅读 · 0 评论 -
Elasticsearch(十二)搜索---搜索匹配功能③--布尔查询及filter查询原理
本节主要学习ES匹配查询中的布尔查询以及布尔查询中比较特殊的filter查询及其原理。复合搜索,顾名思义是一种在一个搜索语句中包含一种或多种搜索子句的搜索。布尔查询是常用的复合查询,它把多个子查询组合成一个布尔表达式,这些子查询之间的逻辑关系是"与",即所有子查询的结果都为true时布尔查询结果才为真。布尔查询还可以按照各个子查询的具体匹配程度对文档进行打分计算,除了比较特殊的must not查询和filter查询之外,这个后面会详解。下面将逐一进行讲解。原创 2023-08-21 12:04:12 · 3416 阅读 · 0 评论 -
Elasticsearch(十三)搜索---搜索匹配功能④--Constant Score查询、Function Score查询
之前我们学习了布尔查询,知道了filter查询只在乎查询条件和文档的匹配程度,但不会根据匹配程度对文档进行打分,而对于must、should这两个布尔查询会对文档进行打分,那如果我想在查询的时候同时不去在乎文档的打分(对搜索结果的排序),只想过滤文本字段是否包含这个词,除了filter查询,我们还会介绍Constant Score查询。相反,如果想干预这个分数,我们会使用Function Score查询,这些都会在后面介绍到。如果不想让检索词频率TF(Term Frequency)对搜索结果排序有影响,只想原创 2023-08-22 15:40:05 · 1534 阅读 · 0 评论