搜索是一个需要不停改进的项目,有时我们需要更新分词插件,有时我们想升级ES版本,这些动作的生效都需要重启ES服务。我们当然不希望重启线上服务导致用户无法使用搜索功能,好在ES支持rolling upgrade的方式进行热更新,以下是操作步骤建议:
//
1.确保每个Index至少有一份复制分片
//
2.禁止ES的分片动态平衡机制(shard reallocation)
curl -XPUT localhost:9200
/_cluster/settings
-d '{
"transient"
: {
"cluster.routing.allocation.enable"
:
"none"
}
}'
//
3.将translog持久化到硬盘上(flush translog)
curl -XPOST
"http://localhost:9200/_flush?wait_for_ongoing"
//
4.登录到一个节点上,停止ES服务
service elasticsearch stop
//
5.执行更新操作
//
6.启动ES服务
service elasticsearch start
//
7.重新开启shard reallocation
curl -XPUT localhost:9200
/_cluster/settings
-d '{
"transient"
: {
"cluster.routing.allocation.enable"
:
"all"
}
}'
//
8.等待cluster的状态重新变为green之后,在下一个节点上重复2~7的操作
值得注意的是:
- 确保每个Index都有复制分片,这样当关闭一个节点的ES服务之后,用户能使用到的数据仍然是全的,集群状态不会出现red
- 如果不禁止shard reallocation,每次一关闭一个节点的服务,剩余节点就会开始数据重平衡,如果索引量巨大,那将消耗大量的时间和IO性能
- 每次启动时ES都要重新执行translog中记录记录的操作,所以我们提前通过flush执行完translog,能够缩短服务启动的时间
- 稳妥起见,每次更新一个节点都等到数据重新平衡之后,集群状态变回green再操作下一个节点,这样保证不会丢失数据
本文参考了官方文档:
http://logos.name/archives/552
相关推荐
**Elasticsearch与MySQL热更新IK词典项目详解** 在现代大数据检索和分析场景中,Elasticsearch(ES)作为一款强大的开源搜索引擎,被广泛应用于日志分析、全文搜索等领域。而IK(Intelligent Chinese)分词器是针对...
总结来说,通过改造IK分词器源码并集成MySQL数据库,我们可以实现动态更新热词库,从而提高Elasticsearch的分词效果,满足实时性需求。这种方式不仅解决了内置词库和静态词库的不足,还提供了更大的灵活性,能够适应...
在7.17.5版本中,针对同义词热更新的需求,Elasticsearch提供了相应的插件,以提高系统的灵活性和实时性。这个插件允许用户在不重启服务的情况下,对同义词库进行动态更新,这对于那些需要频繁调整同义词表的应用...
标题中的“es 同义词 热更新 1.1版本”指的是Elasticsearch(简称ES)在1.1版本中对同义词功能进行了热更新的支持。Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,常用于全文检索、结构化搜索以及...
首先,我的索引结构是酱紫的。 ...以上所述是小编给大家介绍的Python中elasticsearch插入和更新数据的实现方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
这个"elasticsearch-8.6.1.7z"压缩包文件包含了Elasticsearch的8.6.1版本,这是一个高度可扩展的开源全文搜索引擎,设计用于处理大量数据并提供快速、近实时的搜索体验。 Elasticsearch的核心特性包括: 1. 分布式...
"网店管家esAPI1.7专业版"是一个专为电商运营设计的软件工具,它集成了先进的服务器技术,提供高效且稳定的服务。esAPI1.7是该版本的核心,代表了该系统的API接口,它是软件的重要组成部分,允许与其他应用程序进行...
作为Elasticsearch的基础,Lucene库也在1.7.0中得到了更新,带来了新的特性和优化。例如: 1. **更快的搜索**:Lucene的搜索算法优化,提高了搜索响应时间,尤其在高并发场景下表现突出。 2. **更小的索引大小**:...
(狂神)ElasticSearch快速入门笔记,ElasticSearch基本操作以及爬虫(Java-ES仿京东实战),包含了小狂神讲的东西,特别适合新手学习,笔记保存下来可以多看看。好记性不如烂笔头哦~,ElasticSearch,简称es,es是一个...
Elasticsearch查询客户端是用于与ES服务器通信的软件,它们提供了多种语言的API,允许开发者以编程方式执行索引、搜索、更新和删除等操作。常见的Elasticsearch客户端包括: - **Jest**:一个轻量级的Java REST...
Elasticsearch(ES)是一种流行的开源全文搜索引擎,它基于Lucene构建,提供了分布式、RESTful风格的搜索和分析引擎服务。在中文环境下,为了实现精确的分词和搜索,我们需要安装适合版本的分词插件,如“elastic...
多弹性搜索头,对著名的 Elasticsearch Head 的改进 1.保存和存储几个Elasticsearch端点 2.索引选项卡中的更多列 3. 任何请求现在都可以像 /_cat/indices 一样处理 JSON 返回 4. 更简约的外观(更小的字体等...) ...
在Elasticsearch(ES)中,相关性同义词的处理对于改善搜索结果的质量至关重要,尤其是当用户期望通过搜索一个词来召回具有相似含义的其他词语时。为了实现这一目标,可以通过自定义分词器并维护同义词的方式来达到...
根据提供的文件信息,我们可以推断出本篇文章将围绕Elasticsearch 6.2.2版本进行详细介绍,包括其下载方式、主要功能特性以及在实际应用中的常见用途。 ### Elasticsearch简介 Elasticsearch是一款基于Lucene的...
Elasticsearch(简称ES)是一款强大的开源搜索引擎,广泛应用于大数据领域的全文检索。它以其高可扩展性、实时性能以及丰富的分析能力著称。在中文环境下,由于汉字的复杂性,分词是实现有效搜索的关键步骤。为此,...
适用于7.17.1系列,例如Elasticsearch的7.17.12版本。 elasticsearch-analysis-ik 是一个常用的中文分词器,在 Elasticsearch 中广泛应用于中文文本的分析和搜索。下面是 elasticsearch-analysis-ik 分词器的几个...
Elasticsearch 是位于 Elastic Stack 核心的分布式搜索和分析引擎。Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 使您能够以交互方式探索、可视化和分享对数据的见解,...
本资源包“es5.3.2使用热词、停用词、同义词词典.rar”提供了针对Elasticsearch 5.3.2版本的热词、停用词和同义词的相关工具和配置,帮助用户优化全文搜索引擎的表现。 首先,我们来理解一下这些概念: 1. **热词*...
**Elasticsearch 8.11 for Windows** Elasticsearch 是一个开源的分布式搜索引擎,以其高可伸缩性、实时性、灵活性以及强大的数据分析能力而闻名。在Windows平台上部署Elasticsearch,用户可以利用其强大的搜索和...