![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ElasticSearch
文章平均质量分 70
ES相关技术文章
每天都要进步一点点
工作日常技术学习、积累、总结
展开
-
使用ES脚本更新文档
可以使用更新API使用指定的脚本更新文档。该脚本可以对文档进行更新、删除或跳过修改操作。更新API还支持传递部分文档,将其合并到现有文档中。(1)、首先,我们准备一个简单的文档:(2)、案例一:更新num的值,每次递增2(3)、案例二:更新hobbys的值,添加新值 执行之后查询结果:接着再次执行一次脚本,hobbys因为是一个列表,即使它已经存在了“basketball”,同样也会被重复添加。如下图:(4)、案例三:更新hobbys的值,删除某个已存在的值执行完操作我们原创 2022-06-07 16:51:24 · 1883 阅读 · 0 评论 -
Elasticsearch Scripting脚本使用总结
目录一、概述二、Scripting脚本使用一、概述Elasticsearch提供的增删改查相关API虽然能解决大部分业务场景的问题,但是在一些相对复杂的业务场景,使用增删改查不太好实现的时候,此时就需要借助Elasticsearch脚本进行实现,Elasticsearch脚本可以帮助我们解决复杂业务问题,如:自定义评分、自定义文本相关度、自定义过滤、自定义聚合分析等。首先了解一下Scripting 使用语法:"script": { "lang": "...", //原创 2022-05-18 09:37:45 · 3646 阅读 · 0 评论 -
Elasticsearch别名(aliases)使用
目录一、概述二、索引别名相关 API一、概述在ES中,索引别名(index aliases)就像一个快捷方式或软连接,可以指向一个或多个索引。别名带给我们极大的灵活性,我们可以使用索引别名实现以下功能:(1)在一个运行中的ES集群中无缝的切换一个索引到另一个索引上(无需停机)例如,在生产环境中,为了避免索引里面的数据和数据库中的数据不一致,运维每天都要重建一遍ES索引。又比如项目中使用的老的索引,需要重建索引,这样必然需要更新dao层查询中的索引名称,然后重新启动应用,可能会对服务的使原创 2022-05-13 09:35:44 · 9402 阅读 · 0 评论 -
Elasticsearch常见字段映射类型之scaled_float
目录一、概述二、实践一、概述ES中支持的常见的数字类型有:long、 integer、short、byte、double、 float、half_float、scaled_float。如下表:官方文档地址:Numeric field types | Elasticsearch Guide [8.2] | Elastic今天我们主要总结一下scaled_float这种数字类型。scaled_float:带有缩放因子的缩放类型浮点数。需配合缩放因子scaling_facto.原创 2022-05-09 15:33:44 · 3891 阅读 · 0 评论 -
ElasticSearch全文搜索引擎之Aggregation聚合查询(基于RestHighLevelClient)
一、简介前面一篇文章我们已经通过DSL构建JSON查询体,并且结合Kibana介绍了常见的聚合查询,本篇文章主要是结合ES Java 高级API实现聚合查询,工作中更多的时候都是使用客户端进行操作,使用命令太繁琐了。二、度量查询测试数据还是跟前面一篇文章一致,这里就不过多阐述,详细可以参照上文。【a】【b】【c】【d】三、桶查询【a】【b】【c】【d】四、嵌套查询五、总结...原创 2020-10-12 11:40:19 · 6972 阅读 · 6 评论 -
ElasticSearch全文搜索引擎之Aggregation聚合查询(结合Kibana)
一、简介前面一篇文章已经详细介绍了查询相关的API,但是当时并没有总结关于Aggregation聚合查询这一方面的内容,本篇文章单独对聚合查询做一个总结。聚合查询提供了功能可以分组并统计你的数据。理解聚合最简单的方式就是可以把它粗略的看做SQL的GROUP BY操作和SQL的聚合函数。ElasticSearch中常用的聚合有两种:metric(度量)聚合:度量类型聚合主要针对的number类型的数据,需要ES做比较多的计算工作,类似于关系型数据库的组函数操作; bucketing(桶)聚合原创 2020-10-11 19:52:18 · 3749 阅读 · 0 评论 -
ElasticSearch全文搜索引擎之Linux版安装教程
一、简介前面我们已经在windows下搭建了es环境,但是在实际工作中,基本上都是部署在Linux系统中,本篇文章将介绍如何在Linux下搭建elasticsearch环境。二、Linux下安装ElasticSearch【a】下载下载页面:https://www.elastic.co/cn/downloads/elasticsearchelasticsearch官网下载非常慢,建议小伙伴们去百度找找云盘下载吧,这里笔者以elasticsearch-7.6.2-linux-x86_64原创 2020-10-10 20:03:53 · 555 阅读 · 1 评论 -
ElasticSearch全文搜索引擎之Windows集群搭建
目录一、为什么要搭建集群二、Windows搭建ES集群一、为什么要搭建集群在搭建ElasticSearch集群之前,首先得搞明白我们为什么需要搭建集群?它有什么优势呢?ES单机部署为什么不行?(1)高可用性众所周知,搭建集群最明显的优点就是提供我们的高可用性,无论是之前学习的Redis集群,Eureka集群等等,单机版部署只适合我们自己学习使用,真正到了生产环境很少会单机部署某个服务,基本上都是集群部署,保证单台机器宕机时不会导致我们服务不可用。Elasticsearch 作为一个原创 2020-10-10 19:51:42 · 410 阅读 · 0 评论 -
ElasticSearch全文搜索引擎之查询API操作详解
一、简介前面一篇文章已经总结一些索引和文档相关的操作API,本篇文章主要介绍Java客户端中如何使用查询搜索引擎中的数据,同样还是基于RestHighLevelClient实现。二、查询API详解es查询API使用大体步骤:构造SearchRequest查询请求对象,支持设置超时时间等信息; 构造QueryBuilder对象,常见的QueryBuilder有BoolQueryBuilder、MatchQueryBuilder、RangeQueryBuilder等; 构造SearchSou原创 2020-10-09 21:52:51 · 2003 阅读 · 1 评论 -
ElasticSearch全文搜索引擎之索引和文档的API操作详解
一、简介前面一篇文章我们已经成功将es整合进springboot项目中,本篇文章将总结一些常见的高级客户端API操作。二、常见索引相关API操作在es中,很多API操作都是基于RestHighLevelClient对象来进行,下面我们通过几个常见示例说明其用法。【a】创建一个名为"student_info"的索引库主要分为下面三个步骤:创建索引请求; 执行索引请求; 获取索引请求响应结果;@SpringBootTestclass WshElasticsearchApiA原创 2020-10-08 08:59:34 · 606 阅读 · 0 评论 -
ElasticSearch全文搜索引擎之整合SpringBoot篇
一、简介通过前面几篇文章的学习,基本上对es常用的搜索命名有一定的认识了,但是实际工作中却很少使用构造一大串json结构化查询语句进行查询,显然优点繁琐,本篇文章将es整合springboot项目中,使用java api操作es索引等。elasticsearch官方文档:https://www.elastic.co/guide/index.html如上图,就是elasticsearch提供的客户端功能,点击进去,可以看到es提供了很多客户端功能:以看到,目前Java REST Cl.原创 2020-10-07 20:24:35 · 593 阅读 · 0 评论 -
ElasticSearch全文搜索引擎之term和match的区别
一、简介在elasticsearch中,查询主要使用到两个:term和match,本篇文章将总结一下两者的区别。term:代表完全匹配,也就是精确查询,搜索前不会再对搜索词进行分词解析,直接对关键词进行查找; match:代表模糊匹配,搜索前会对搜索词进行分词解析,然后按分词匹配查找;一般模糊查找的时候,多用match,而精确查找时可以使用term。二、term精确匹配term查询是直接通过倒排索引指定的词条进行查找的。首先创建一个索引member,并插入几条测试数据,相关命原创 2020-10-05 07:24:06 · 9269 阅读 · 3 评论 -
ElasticSearch全文搜索引擎之查询API篇
一、二、(二)、 简单搜索数据PUT /index4/type4/1{ "name": "张三", "age": 20}PUT /index4/type4/2{ "name": "李四", "age": 20}PUT /index4/type4/3{ "name": "王五", "age": 20}最简单的搜索其实就是:GET /index4/type4/1,获取一条数据,如下图所示:下面来看一个带简单条件的查询:GET /..原创 2020-10-04 08:05:09 · 1841 阅读 · 1 评论 -
ElasticSearch全文搜索引擎之核心概念和IK分词器篇
一、概述在前面的学习中,我们已经掌握了es是什么,同时也把es的服务已经安装启动,那么es是如何去存储数据,数据结构是什么,优势如何实现搜索的呢?我们先来聊聊ElasticSearch的相关概念吧!集群、节点、索引、类型、文档、分片、映射是什么?elasticSearch是面向文档的,关系型数据库和elasticsearch客观的对比!Relational DB ElasticSearch 数据库database 索引indices 表tables types(慢慢会原创 2020-09-26 15:49:41 · 927 阅读 · 0 评论 -
ElasticSearch全文搜索引擎之Restful API和索引操作篇
一、Rest风格说明一种软件架构风格 ,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。基本Rest命令说明:method url地址 描述 PUT localhost:9200/索引名称/类型名称/文档id 创建文档(指定文档id) POST localhost:9200/索引名称/类型名称 创建文档(随机文档id) POST localh原创 2020-09-29 17:46:29 · 660 阅读 · 0 评论 -
ElasticSearch全文搜索引擎之入门以及环境搭建
一、概述Elaticsearch,简称ES, Elasticsearch是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。二、ES和Solr区别...原创 2020-09-23 21:36:35 · 580 阅读 · 0 评论