elasticSearch
文章平均质量分 68
elasticSearch
陈橙橙丶
不放手 直至理想到手
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
elasticSearch核心概念的介绍(十八):ES的乐观锁
锁的简单分类 悲观锁 顾名思义,就算很悲观,每次去拿数据的时候都认为别人会修改,所以在每次拿到数据的时候都会上锁,这样别人想拿到这个数据就会阻塞,直到它拿到锁。传统的关系型数据库里面就用到了很多这种锁机制,比如行锁、表锁、读锁、写锁等,都是在做操作之前先上锁。 乐观锁 顾名思义,就算很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,比如可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量,因为我们elasti原创 2022-03-04 15:20:23 · 3013 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十七):ES文档路由原理
前言 当新增一个文档的时候,文档会被存储到一个主分片中,elasticsearch如何知道一个文档应该存放到哪个分片中呢? 当我们创建文档时候,它如何决定这个文档应当被存储在分片1还是分片2中。 路由算法 首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道从何处寻找了。实际上,这个过程是根据下面这个公式决定的 shard = hash(routing) % number_of_primary_shards routing是一个可变值,默认是文档的_id,也可以设置成一个自定义的值。r原创 2022-03-04 14:56:10 · 1142 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十六):ES分布式工作原理
前言 elasticsearch是分布式的,但是对于我们开发者来说并没有过多的参与其中,我们只需启动对应数量的节点,并给他们分配相同的cluster.name让他们归属于同一个集群,创建索引的时候只需要指定索引主分片数量和副分片数量就行,其他的都交给了ES内部自己实现 这和数据库的分布式和同源的solr实现分布式都是由区别的,数据库要做集群分布式,比如分库分表需要我们指定路由规则和数据库同步策略,包括读写分离,主从同步登,solr的分布式也依赖zookeeper,但是elasticsearch完全屏蔽了这原创 2022-03-04 14:19:41 · 2370 阅读 · 2 评论 -
elasticSearch核心概念的介绍(十五):ES集群健康管理
上一章我们对ES集群索引分片管理进行了简单的介绍,有兴趣的朋友可以参考一下 elasticSearch核心概念的介绍(十四):ES集群索引分片管理 ES集群监控管理 这里我们来介绍一下ES集群的健康管理 查看集群健康状态 http://172.25.45.150:9200/_cat/health?v status:集群的状态 red:表示集群不可用,有故障 yellow:表示集群不可靠但可用,一般单节点时就说此状态 green:正常状态,表示集群一切正常 node.t.原创 2022-03-04 13:57:10 · 622 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十四):ES集群索引分片管理
上一章节我们对ES的集群进行了搭建,有兴趣的朋友可以参考一下elasticSearch核心概念的介绍(十三):docker搭建ES集群 这里我们来介绍了ES集群索引的分片管理 ES集群索引分片管理 介绍 分片(shard):因为ES是个分布式的搜索引擎,所以索引通常都会分解成不同部分,而这些分布在不同节点的数据就是分片,ES自动管理和组织分片,并在必要的时候对分片数据进行再平衡分配,所以用户基本上不用担心分片的处理细节。 副本(replica):ES默认为一个索引创建一个主分片,并分别为其创建一个.原创 2022-03-04 12:51:54 · 4459 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十三):docker搭建ES集群
ES 集群搭建 这里使用docker搭建集群,使用安装包搭建步骤差不多,ES版本为7.4.2,服务器为阿里云Centos7 一、拉取镜像 docker pull elasticsearch:7.4.2 二、创建挂载目录 mkdir /mydata/elasticsearch 三、创建配置data数据目录 mkdir /mydata/elasticsearch/data1 mkdir /mydata/elasticsearch/data2 mkdir /mydata/elasticsearch/d原创 2022-03-03 16:38:38 · 1149 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十二):ES集群概念
前面我们对ES基本概念和API的基本使用进行大致的说明,有兴趣的朋友可以参考一下专栏 ES专栏 这一章我们使用java来整合es查询 elasticsearch为什么要集群。 高可用 –高可用是分布式系统架构设计中必须考虑的因素之一,它通常是指可以设计减少系统不能提供服务的时间。如果系统没运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99% 负载均衡 负载均衡集群为企业提供了更实用的系统。该系统使负载可以在计算机集群中尽可能平均地分摊处理。该负载可能使需要均衡地应用程.原创 2022-03-03 14:22:58 · 378 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十一):JAVA整合ES
ES整合JAVA实现 前面我们对ES基本概念和API的基本使用进行大致的说明,有兴趣的朋友可以参考一下专栏 1 这一章我们使用java来整合es查询 1.数据处理 我们对nba中国官网的数据进行爬取并处理成表。 并通过逆向工程生成基本的service、mapper等文件。 @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @TableName("nba_player") public class NbaPlayer原创 2022-03-03 11:28:29 · 2257 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十):指标聚合查询
聚合查询之指标查询 上一章介绍基本的范围、布尔、排序查询,有兴趣的可以参考一下 elasticSearch核心概念的介绍(九):范围、布尔、排序查询 这一章我们介绍了聚合查询的指标聚合 ES 聚合查询是什么 聚合查询时数据库中重要的功能特性,完成对一个查询得到的数据集的聚合计算,如:找出某字段(或计算表达式的结果)的最大值、最小值、计算和、平均值等。ES作为搜索引擎,同样提供了强大的聚合分析能力。 对一个数据集求最大、最小、和、平均值等指标的聚合,在ES 中成为指标聚合 而关系型数据中除了有集合函数外原创 2022-02-24 10:38:08 · 1173 阅读 · 0 评论 -
elasticSearch核心概念的介绍(九):范围、布尔、排序查询
范围查询 在上一章介绍了批量导入和Term多种查询,有兴趣的可以参考一下 elasticSearch核心概念的介绍(七):常见的数据类型 这里我们来介绍一下另外几种查询方法 查找指定字段在指定范围内包含值(日期、数字或字符串)的文档 查找nba在打球在2年到10年以为的的球员 请求 curl -X POST "http://172.25.45.150:9200/nba/_search" -H 'Content-Type:application/json' -d ' { "query"原创 2022-02-21 13:55:15 · 935 阅读 · 0 评论 -
elasticSearch核心概念的介绍(八):批量导入和Term多种查询
ES批量导入和Term多种查询 在上一章介绍了常见的数据类型,有兴趣的可以参考一下 elasticSearch核心概念的介绍(七):常见的数据类型 这里我们来介绍一下ES的批量导入数据 Bulk ES提供了一个叫bulk的API来进行批量导入操作 批量导入 数据 {“index”:{"_index":“book”,"_type":"_doc","_id":1}} {“name”:“权力的游戏”} {“index”:{"_index":“book”,"_type":"_doc","_id原创 2022-02-21 11:33:17 · 2888 阅读 · 0 评论 -
elasticSearch核心概念的介绍(七):常见的数据类型
常见的数据类型 在上一章介绍了分词器和ik分词器的使用,有兴趣的可以参考一下 elasticSearch核心概念的介绍(六):常见的中文分词器 在这一章我们介绍常见的字段类型 数据类型 核心数据类型 复杂数据类型 专用数据类型 核心数据类型 字符串 text 用于全文索引,该类型的字段将通过分词器进行分词 keyword 不分词,只能搜索该字段的完整的值 数值型 long,integer,short,byte,double,float,half_float,sca原创 2022-02-18 21:49:33 · 789 阅读 · 0 评论 -
elasticSearch核心概念的介绍(六):常见的中文分词器
常见的中文分词器和使用 在上一章介绍了几种默认的分词器的规则和使用,有兴趣的可以参考一下 elasticSearch核心概念的介绍(五):分词器的介绍和使用 在这一章我们介绍常见的中文分词器 为什么要使用中文分词器,我们可以简单来试一下。 请求 curl -X POST "http://172.25.45.150:9200/_analyze" -H 'Content-Type:application/json' -d ' { "analyzer":"standard", "tex原创 2022-02-18 20:48:07 · 975 阅读 · 0 评论 -
elasticSearch核心概念的介绍(五):分词器的介绍和使用
分词器的介绍和使用 在上一章介绍了搜索的基本使用,有兴趣的朋友可以参考 elasticSearch核心概念的介绍(四):搜索的简单使用 在这一章我们会进行搜索的简单使用。 简介 什么是分词器,内置的分词器有哪些? 什么是分词器 将用户输入的一段文本,按照一定的逻辑,分词成多个词语的一种工具 例如:The best 3-points shooter is Curry ! 常用的内置分词器 standard analyzer simple analyzer whitespace analy原创 2022-02-18 17:20:08 · 598 阅读 · 0 评论 -
elasticSearch核心概念的介绍(四):搜索的简单使用
搜索的简单使用 在上一章介绍了文档的基本使用,有兴趣的可以参考一下 elasticSearch核心概念的介绍(三):文档的增删改查 在这一章我们会进行搜索的简单使用。 一、我们先将上述内容中的索引都删除 查看所有索引 curl -X GET "http://172.25.45.150:9200/_cat/indices?v" 挨个进行删除 curl -X DELETE "http://172.25.45.150:9200/nba" 二、新建一个索引,并且指定mapping curl原创 2022-02-18 16:09:45 · 1585 阅读 · 0 评论 -
elasticSearch核心概念的介绍(三):文档的增删改查
文档的增删改查 在上一章介绍了映射的使用,有兴趣的朋友可以参考一下 elasticSearch核心概念的介绍(二):映射的介绍和使用 这一章我们来简单介绍 一下 文档的使用,在es中文档也就是指的数据,如同mysql中的表数据。 新增文档 请求 curl -X PUT "http://172.25.45.150:9200/nba/_doc/1" -H 'Content-Type:application/json' -d ' { "name":"哈登", "team_name":"原创 2022-02-18 13:49:40 · 862 阅读 · 0 评论 -
elasticSearch核心概念的介绍(二):映射的介绍和使用
映射的介绍和使用 在上一章介绍了索引的使用,这一章我们来简单介绍 一下 映射,有兴趣的可以参考一下: elasticSearch核心概念的介绍(一):基本介绍和索引的基本使用 新增 请求 curl -X PUT "http://172.25.45.150:9200/nba/_mapping" -H 'Content-Type:application/json' -d ' { "properties":{ "name":{ "type"原创 2022-02-18 11:31:15 · 493 阅读 · 0 评论 -
elasticSearch核心概念的介绍(一):基本介绍和索引的基本使用
elasticSearch核心概念的介绍 前言 我们可以想象一下我在使用数据库查询数据的时候我们应该怎么做?假设我们在使用mysql数据库存储一些数据,我们该如何操作的? 建立数据库->建表->插入数据->查询 索引 一个索引可以理解成一个关系型数据库 类型 一种type就像一张表,比如user表,order表 注意: ES 5.x版本中一个index可以有多个type ES 6.x版本中一个index只能有一种type ES 7.x版本后移除type这个概念 映射原创 2022-02-18 10:50:42 · 808 阅读 · 0 评论
分享