elasticSearch
文章平均质量分 68
elasticSearch
陈橙橙丶
不放手 直至理想到手
展开
-
elasticSearch核心概念的介绍(十八):ES的乐观锁
锁的简单分类悲观锁顾名思义,就算很悲观,每次去拿数据的时候都认为别人会修改,所以在每次拿到数据的时候都会上锁,这样别人想拿到这个数据就会阻塞,直到它拿到锁。传统的关系型数据库里面就用到了很多这种锁机制,比如行锁、表锁、读锁、写锁等,都是在做操作之前先上锁。乐观锁顾名思义,就算很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,比如可以使用版本号等机制。乐观锁适用于多读的应用类型,这样可以提高吞吐量,因为我们elasti原创 2022-03-04 15:20:23 · 2871 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十七):ES文档路由原理
前言当新增一个文档的时候,文档会被存储到一个主分片中,elasticsearch如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时候,它如何决定这个文档应当被存储在分片1还是分片2中。路由算法首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道从何处寻找了。实际上,这个过程是根据下面这个公式决定的shard = hash(routing) % number_of_primary_shardsrouting是一个可变值,默认是文档的_id,也可以设置成一个自定义的值。r原创 2022-03-04 14:56:10 · 1086 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十六):ES分布式工作原理
前言elasticsearch是分布式的,但是对于我们开发者来说并没有过多的参与其中,我们只需启动对应数量的节点,并给他们分配相同的cluster.name让他们归属于同一个集群,创建索引的时候只需要指定索引主分片数量和副分片数量就行,其他的都交给了ES内部自己实现这和数据库的分布式和同源的solr实现分布式都是由区别的,数据库要做集群分布式,比如分库分表需要我们指定路由规则和数据库同步策略,包括读写分离,主从同步登,solr的分布式也依赖zookeeper,但是elasticsearch完全屏蔽了这原创 2022-03-04 14:19:41 · 2142 阅读 · 2 评论 -
elasticSearch核心概念的介绍(十五):ES集群健康管理
上一章我们对ES集群索引分片管理进行了简单的介绍,有兴趣的朋友可以参考一下elasticSearch核心概念的介绍(十四):ES集群索引分片管理ES集群监控管理这里我们来介绍一下ES集群的健康管理查看集群健康状态http://172.25.45.150:9200/_cat/health?vstatus:集群的状态red:表示集群不可用,有故障yellow:表示集群不可靠但可用,一般单节点时就说此状态green:正常状态,表示集群一切正常node.t.原创 2022-03-04 13:57:10 · 492 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十四):ES集群索引分片管理
上一章节我们对ES的集群进行了搭建,有兴趣的朋友可以参考一下elasticSearch核心概念的介绍(十三):docker搭建ES集群这里我们来介绍了ES集群索引的分片管理ES集群索引分片管理介绍分片(shard):因为ES是个分布式的搜索引擎,所以索引通常都会分解成不同部分,而这些分布在不同节点的数据就是分片,ES自动管理和组织分片,并在必要的时候对分片数据进行再平衡分配,所以用户基本上不用担心分片的处理细节。副本(replica):ES默认为一个索引创建一个主分片,并分别为其创建一个.原创 2022-03-04 12:51:54 · 4215 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十三):docker搭建ES集群
ES 集群搭建这里使用docker搭建集群,使用安装包搭建步骤差不多,ES版本为7.4.2,服务器为阿里云Centos7一、拉取镜像docker pull elasticsearch:7.4.2二、创建挂载目录mkdir /mydata/elasticsearch三、创建配置data数据目录mkdir /mydata/elasticsearch/data1mkdir /mydata/elasticsearch/data2mkdir /mydata/elasticsearch/d原创 2022-03-03 16:38:38 · 1047 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十二):ES集群概念
前面我们对ES基本概念和API的基本使用进行大致的说明,有兴趣的朋友可以参考一下专栏ES专栏这一章我们使用java来整合es查询elasticsearch为什么要集群。高可用–高可用是分布式系统架构设计中必须考虑的因素之一,它通常是指可以设计减少系统不能提供服务的时间。如果系统没运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%负载均衡负载均衡集群为企业提供了更实用的系统。该系统使负载可以在计算机集群中尽可能平均地分摊处理。该负载可能使需要均衡地应用程.原创 2022-03-03 14:22:58 · 304 阅读 · 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 · 2123 阅读 · 0 评论 -
elasticSearch核心概念的介绍(十):指标聚合查询
聚合查询之指标查询上一章介绍基本的范围、布尔、排序查询,有兴趣的可以参考一下elasticSearch核心概念的介绍(九):范围、布尔、排序查询这一章我们介绍了聚合查询的指标聚合ES 聚合查询是什么聚合查询时数据库中重要的功能特性,完成对一个查询得到的数据集的聚合计算,如:找出某字段(或计算表达式的结果)的最大值、最小值、计算和、平均值等。ES作为搜索引擎,同样提供了强大的聚合分析能力。对一个数据集求最大、最小、和、平均值等指标的聚合,在ES 中成为指标聚合而关系型数据中除了有集合函数外原创 2022-02-24 10:38:08 · 1104 阅读 · 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 · 844 阅读 · 0 评论 -
elasticSearch核心概念的介绍(八):批量导入和Term多种查询
ES批量导入和Term多种查询在上一章介绍了常见的数据类型,有兴趣的可以参考一下elasticSearch核心概念的介绍(七):常见的数据类型这里我们来介绍一下ES的批量导入数据BulkES提供了一个叫bulk的API来进行批量导入操作批量导入数据{“index”:{"_index":“book”,"_type":"_doc","_id":1}}{“name”:“权力的游戏”}{“index”:{"_index":“book”,"_type":"_doc","_id原创 2022-02-21 11:33:17 · 2785 阅读 · 0 评论 -
elasticSearch核心概念的介绍(七):常见的数据类型
常见的数据类型在上一章介绍了分词器和ik分词器的使用,有兴趣的可以参考一下elasticSearch核心概念的介绍(六):常见的中文分词器在这一章我们介绍常见的字段类型数据类型核心数据类型复杂数据类型专用数据类型核心数据类型字符串text用于全文索引,该类型的字段将通过分词器进行分词keyword不分词,只能搜索该字段的完整的值数值型long,integer,short,byte,double,float,half_float,sca原创 2022-02-18 21:49:33 · 636 阅读 · 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 · 886 阅读 · 0 评论 -
elasticSearch核心概念的介绍(五):分词器的介绍和使用
分词器的介绍和使用在上一章介绍了搜索的基本使用,有兴趣的朋友可以参考elasticSearch核心概念的介绍(四):搜索的简单使用在这一章我们会进行搜索的简单使用。简介什么是分词器,内置的分词器有哪些?什么是分词器将用户输入的一段文本,按照一定的逻辑,分词成多个词语的一种工具例如:The best 3-points shooter is Curry !常用的内置分词器standard analyzersimple analyzerwhitespace analy原创 2022-02-18 17:20:08 · 497 阅读 · 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"二、新建一个索引,并且指定mappingcurl原创 2022-02-18 16:09:45 · 1500 阅读 · 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 · 733 阅读 · 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 · 394 阅读 · 0 评论 -
elasticSearch核心概念的介绍(一):基本介绍和索引的基本使用
elasticSearch核心概念的介绍前言我们可以想象一下我在使用数据库查询数据的时候我们应该怎么做?假设我们在使用mysql数据库存储一些数据,我们该如何操作的?建立数据库->建表->插入数据->查询索引一个索引可以理解成一个关系型数据库类型一种type就像一张表,比如user表,order表注意:ES 5.x版本中一个index可以有多个typeES 6.x版本中一个index只能有一种typeES 7.x版本后移除type这个概念映射原创 2022-02-18 10:50:42 · 726 阅读 · 0 评论