![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ElasticSearch
文章平均质量分 92
熊猫-IT
V :it-xiongmao,源码获取,学习交流,技术支持!
展开
-
ES脑裂问题分析及优化
脑裂问题,就是同一个集群中的不同节点,对于集群的状态,有了不一样的理解。 由于并发访问量的提高,导致了我们两个节点的集群(分片数默认为5,副本为1,没有固定的master,都是集群中的节点又做data又做master)状态变成了red,出现了大量的坏片,并且坏掉的都是主分片及其副本。分析发现,是ES集群出现了脑裂问题(俗称精神分裂),即集群中不同的节点对于master的选择出现了分歧,出现了多个master竞争,导致主分片和副本的识别也发生了分歧,对一些分歧中的分片标识为了坏片。“脑裂”问题可能的成因原创 2020-12-02 09:14:08 · 536 阅读 · 0 评论 -
ES集群中参数参数discovery.zen.minimum_master_nodes深度解析
这里zen.ping.unicast.hosts这里也是配置es集群中master节点列表的地址当然也可以通过动态API调用进行配置。 您可以在群集联机时更改设置:PUT /_cluster/settings{ "persistent" : { "discovery.zen.minimum_master_nodes" : 2 }}关于设置的有效性persistent 重启后设置也会存在transient 整个集群重启后会消失的设置...原创 2020-12-02 09:11:25 · 3053 阅读 · 0 评论 -
Elasticsearch之集群脑裂
1.集群脑裂是什么?所谓脑裂问题(类似于精神分裂),就是同一个集群中的不同节点,对于集群的状态有了不一样的理解。由于某些节点的失效,部分节点的网络连接会断开,并形成一个与原集群一样名字的集群,这种情况成为集群脑裂(split-brain)现象。这个问题非常危险,因为两个新形成的集群会同时索引和修改集群的数据。2.ES集群脑裂可能导致的原因:1. 网络: 由于是内网通信, 网络通信问题造成某些节点认为 master 死掉, 而另选 master的可能性较小; 进而检查 Ganglia 集群监控, 也原创 2020-12-02 09:07:09 · 330 阅读 · 0 评论 -
elasticsearch集群详解
1.ES为什么要实现集群在单台ES服务器节点上,随着业务量的发展索引文件慢慢增多,会影响到效率和内存存储问题等。如果使用ES集群,会将单台服务器节点的索引文件使用分片技术,分布式的存放在多个不同的物理机器上,从而可以实现高可用、容错性等。es核心存放的是索引。2.什么是分片技术将数据拆分成多台节点进行存放。ES是如何解决高并发ES是一个分布式全文检索框架,隐藏了复杂的处理机制,内部使用 分片机制、集群发现、分片负载均衡请求路由。Shards 分片:代表索引分片,es可以把一个完整的索引分成多原创 2020-12-01 09:07:35 · 628 阅读 · 0 评论 -
面试专题-Elasticsearch
1.什么是ElasticSearch?Elasticsearch是一个基于Lucene的搜索引擎。它提供了具有HTTP Web界面和无架构JSON文档的分布式,多租户能力的全文搜索引擎。Elasticsearch是用Java开发的,根据Apache许可条款作为开源发布。2.为什么要使用Elasticsearch?因为在我们商城中的数据,将来会非常多,所以采用以往的模糊查询,模糊查询前置配置,会放弃索引,导致商品查询是全表扫面,在百万级别的数据库中,效率非常低下,而我们使用ES做一个全文索引,我们将经原创 2020-11-29 23:37:10 · 201 阅读 · 0 评论 -
Docker部署运行ES
1.Docker 部署 ElasticSearch1.1.拉取镜像docker pull elasticsearch:6.8.51.2.运行容器ElasticSearch的默认端口是9200,我们把宿主环境9200端口映射到Docker容器中的9200端口,就可以访问到Docker容器中的ElasticSearch服务了,同时我们把这个容器命名为es。docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=sing原创 2020-11-29 22:29:43 · 2057 阅读 · 0 评论 -
SpringBoot整合SpringData ES
1. 什么是Spring Data ElasticSearchSpring Data Elasticsearch是Spring Data项目下的一个子模块。查看 Spring Data的官网:http://projects.spring.io/spring-data/Spring Data ElasticSearch 基于 spring data API 简化 elasticSearch操作,将原始操作elasticSearch的客户端API 进行封装 。Spring Data为Elasticsear原创 2020-11-27 12:34:08 · 1149 阅读 · 2 评论 -
IK分词器-自定义分词
我们首先测试一下IK分词器的ik_smart最少切分策略。GET _analyze{ "analyzer": "ik_smart", "text": "中国共产党"}可以看到,使用ik_smart最少切分策略时,kibana只帮我们分词为一个"中国共产党"一个词。下面我们修改成ik_max_word最细粒度划分策略看看效果如何:GET _analyze{ "analyzer": "ik_max_word", "text": "中国共产党"}如下就是IK分词器使用ik_原创 2020-11-27 11:58:59 · 2752 阅读 · 3 评论 -
Spring Data ElasticSearch使用
1. 什么是Spring DataSpring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。 Spring Data可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了CRUD外,还包括如分页、排序等一些常用的功能。Spring Data的官网:http:/...原创 2020-04-22 12:33:41 · 333 阅读 · 0 评论 -
Docker部署ElasticSearch集群
1.前言为什么要用ElasticSearch?我们的应用经常需要添加检索功能,开源的Elastic Search是目前全文检索引擎的首选。它可以快速的存储、搜索和分析海量数据。ElasticSearch是一个分布式搜索框架,提供RestfulAPI,底层基于Lucene,采用多shard(分片)的方式保证数据安全,并且提供自动resharding的功能。Elasticsearch: 权威指南(...原创 2020-04-12 15:17:27 · 415 阅读 · 0 评论 -
ElasticSearch专题(九)-Docker简单部署ElasticSearch
1.ElasticSearch是什么?Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。不过,Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:分布式的实时文件存储,每个字段都被索引并可被搜索分布式的实时分析搜索引...原创 2020-01-10 12:21:35 · 211 阅读 · 0 评论 -
ElasticSearch专题(八)-Spring Data ElasticSearch使用
1. 什么是Spring DataSpring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。 Spring Data可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了CRUD外,还包括如分页、排序等一些常用的功能。Spring Data的官网:http:/...原创 2019-12-04 17:14:16 · 364 阅读 · 0 评论 -
ElasticSearch专题(七)-JAVA客户端
1.本章目标1. 能够使用java客户端完成创建、删除索引的操作2. 能够使用java客户端完成文档的增删改的操作3. 能够使用java客户端完成文档的查询操作4. 能够完成文档的分页操作5. 能够完成文档的高亮查询操作2.创建工程,导入坐标pom.xml坐标 <dependencies> <dependency> ...原创 2019-12-02 23:24:23 · 283 阅读 · 0 评论 -
ElasticSearch专题(六)-集群配置
1.引言ES集群是一个 P2P类型(使用 gossip 协议)的分布式系统,除了集群状态管理以外,其他所有的请求都可以发送到集群内任意一台节点上,这个节点可以自己找到需要转发给哪些节点,并且直接跟这些节点通信。所以,从网络架构及服务配置上来说,构建集群所需要的配置极其简单。在Elasticsearch 2.0 之前,无阻碍的网络下,所有配置了相同 cluster.name 的节点都自动归属到一个...原创 2019-12-01 16:49:05 · 394 阅读 · 0 评论 -
ElasticSearch专题(四)-客户端操作
1.引言实际开发中,主要有三种方式可以作为elasticsearch服务的客户端:第一种,elasticsearch-head插件第二种,使用elasticsearch提供的Restful接口直接访问第三种,使用elasticsearch提供的API进行访问2.安装Postman工具Postman中文版是postman这款强大网页调试工具的windows客户端,提供功能强大的Web AP...原创 2019-11-28 17:17:05 · 310 阅读 · 0 评论 -
ElasticSearch专题(三)-ES术语
1.概述Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。Elasticsearch比传统关系型数据库如下:Relational DB ‐> ...原创 2019-11-28 15:26:50 · 300 阅读 · 0 评论 -
ElasticSearch专题(五)-IK分词器和集成使用
1.查询存在问题分析在进行字符串查询时,我们发现去搜索"搜索服务器"和"钢索"都可以搜索到数据;而在进行词条查询时,我们搜索"搜索"却没有搜索到数据;究其原因是ElasticSearch的标准分词器导致的,当我们创建索引时,字段使用的是标准分词器:{ "mappings": { "article": { "properties": { ...原创 2019-11-29 11:39:09 · 541 阅读 · 0 评论 -
ElasticSearch专题(二)-环境搭建
1. 下载ES压缩包ElasticSearch分为Linux和Window版本,基于我们主要学习的是ElasticSearch的Java客户端的使用,所以我们课程中使用的是安装较为简便的Window版本,项目上线后,公司的运维人员会安装Linux版的ES供我们连接使用。ElasticSearch的官方地址: https://www.elastic.co/products/elasticsear...原创 2019-11-28 12:28:49 · 230 阅读 · 0 评论 -
ElasticSearch专题(一)-ES简介
1.什么是ElasticSearchElaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。2.E...原创 2019-11-27 22:44:07 · 374 阅读 · 0 评论