elasticsearch之索引管理API(Index management)

利用Kibana来查看和管理Elasticsearch的索引 阅读详情

本文将详细介绍ES索引管理相关的API。

ES索引管理API主要包含如下API:

  • Create Index
    创建索引。
  • Delete Index
    删除索引。
  • Get index
    获取索引。
  • indices Exists Index
    判断索引是否存在
  • Open/Close Index
    打开或关闭索引,使用close index api会使索引处于关闭状态,此时无法对该索引进行读、写,但索引数据不会被删除。
  • Shrink Index
    收缩索引。收缩索引API允许您将现有索引收缩为具有较少主碎片的新索引(下文为们称之为目标索引)。伸缩后的索引主分片的个数必须是原分片的公约数,举例说明,如果原先索引的个数为15,那伸缩后的索引主分片数量可以是3、5、1。
  • Split Index
    拆分索引。将一个索引的主分片个数扩容,详情下文讲解。
  • Rollover Index
    翻转索引,有点类似于log4j记录日志的方式,例如,按日志文件大小超过多少后,创建一个新的文件一样。

1、创建索引
创建索引,通常创建索引API包含3个部分:索引配置、索引映射、索引别名,例如:

PUT test
{
    "settings" : {                 //@1
        "number_of_shards" : 1
    }, 
    "mappings" : {                // @2
        "_doc" : {
            "properties" : {
                "field1" : { "type" : "text" }
            }
        }
    },
	"aliases" : {                  // @3
        "alias_1" : {},
        "alias_2" : {
            "filter" : {
                "term" : {"user" : "kimchy" }
            },
            "routing" : "kimchy"
        }
    }
}

代码@1:索引的配置属性。请详细参考如下博文:
代码@2:定义映射,有点类似于关系型数据库中的定义表结构,详情请参考:映射参数详解、映射字段类型。
代码@3:为索引指定别名设置。

对应的JAVA示例代码:

public static void createSuggestMapping() {
		RestHighLevelClient client = EsClient.getClient();
		try {
			CreateIndexRequest request = new CreateIndexRequest("suggest_mapping_001");
			XContentBuilder jsonBuilder = XContentFactory.jsonBuilder()
											.startObject()
												.startObject("properties")
													.startObject("context")
														.field("type", "text")
														.field("analyzer", "ik_smart")
														.field("search_analyzer", "ik_smart")
													.endObject()
												.endObject()
											.endObject();
			request.mapping("_doc", jsonBuilder);
			System.out.println(client.indices().create(request, RequestOptions.DEFAULT));
		} catch (Throwable e) {
			e.printStackTrace();
		} finally {
			EsClient.close(client);
		}
	}

2、查找/删除/打开/关闭索引
查找、删除、打开与关闭索引的使用方法与创建索引类似,都是通过RestHighLevelClient#indices()对应的方法来实现。

2.1 类图
接下来从Request类图入手,展示上述API重点的参数。
在这里插入图片描述

  • MasterNodeReadRequest
    masterNodeTimeout:查找、连接masterNode的超时时间,默认为30s。

  • AcknowledgedRequest
    ackTimeout、timeout:请求超时时间。

  • DeleteIndexRequest、GetIndexRequest、OpenIndexRequest、CLoseIndexRequest公共属性:
    1、private String[] indices
    上述API待操作的索引,即可以同时删除、查找、打开或关闭多个索引。
    2、private IndicesOptions indicesOptions
    索引操作选项。

2.2 IndicesOptions(索引操作选项)
在这里插入图片描述
IndicesOptions$Option定义操作选项:
IndicesOptions$WildcardStates枚举类型主要定义通配符的作用范围,例如OPEN,表示处于打开状态的索引,而CLOSE表示处于关闭状态的索引。
IndicesOptions$Option定义操作选项:

  • IGNORE_UNAVAILABLE
    可忽略不可用的索引。
  • IGNORE_ALIASES
    忽略别名。
  • ALLOW_NO_INDICES
    允许索引不存在。
  • FORBID_ALIASES_TO_MULTIPLE_INDICES
    禁止操作多个索引或别名。
  • FORBID_CLOSED_INDICES
    禁止操作关闭状态的索引,如果有这个选项,则API只能对OPEN状态的索引进行操作。

IndicesOptions针对上面进行组合,默认给出了一些常量组合:

  • STRICT_EXPAND_OPEN
    (EnumSet.of(Option.ALLOW_NO_INDICES), EnumSet.of(WildcardStates.OPEN))
    主要代表如下几层意义:
    1、如果是指定索引,则索引必须存在。
    2、通配符匹配的范围为OPEN状态的索引。
    3、如果使用通配符来查找索引,未匹配到任何索引不会抛出异常。
  • LENIENT_EXPAND_OPEN
    (EnumSet.of(Option.ALLOW_NO_INDICES, Option.IGNORE_UNAVAILABLE), EnumSet.of(WildcardStates.OPEN))
    主要代表如下几层意义:
    1、允许索引不存在,指定一个不存在的索引,也不会抛出异常。
    2、通配符作用范围为OPEN状态的索引。
    3、如果使用通配符来查找索引,未匹配到任何索引不会抛出异常。
  • STRICT_EXPAND_OPEN_CLOSED
    (EnumSet.of(Option.ALLOW_NO_INDICES), EnumSet.of(WildcardStates.OPEN, WildcardStates.CLOSED))
    主要代表如下几层意义:
    1、如果指定索引,该索引必须存在。
    2、通配符作用范围为OPEN、CLOSED状态的索引。
    3、如果使用通配符来查找索引,未匹配到任何索引不会抛出异常。
  • STRICT_EXPAND_OPEN_FORBID_CLOSED
    (EnumSet.of(Option.ALLOW_NO_INDICES, Option.FORBID_CLOSED_INDICES), EnumSet.of(WildcardStates.OPEN))
    主要代表如下几层意义:
    1、如果指定索引,该索引必须存在。
    2、通配符作用范围为OPEN状态的索引。
    3、如果使用通配符查找索引,未找到索引不会抛出异常。
    4、禁止指定CLOSE状态的索引。 [6.4.0版本测试,这条规则未生效]
  • STRICT_SINGLE_INDEX_NO_EXPAND_FORBID_CLOSED
    (EnumSet.of(Option.FORBID_ALIASES_TO_MULTIPLE_INDICES, Option.FORBID_CLOSED_INDICES), EnumSet.noneOf(WildcardStates.class))。
    主要代表如下几层意义:
    1、指定的索引或别名必须存在。
    2、不允许使用通配符。
    3、不允许一个别名解析出多个索引的情况。

上面是对IndicesOptions中的枚举类型与默认定义的索引选项进行了一个说明,当然也可以通过IndicesOptions#fromOptions来自定义。

2.3 Java示例
删除、打开、查找,关闭等API的使用类似,下面给出一个简单的JAVA示例:

public static final void testGetIndex() {
	RestHighLevelClient client = EsClient.getClient();
	try {
		GetIndexRequest request = new GetIndexRequest();
		request.indices("suggest_mapping_001*")
				  //.indicesOptions(IndicesOptions.STRICT_EXPAND_OPEN)
				   //.indicesOptions(IndicesOptions.STRICT_SINGLE_INDEX_NO_EXPAND_FORBID_CLOSED)
			       //.indicesOptions(IndicesOptions.LENIENT_EXPAND_OPEN)
				   //.includeDefaults(true) 是否输出包含默认配置(settings),默认为false
			      // .indicesOptions(IndicesOptions.STRICT_EXPAND_OPEN_FORBID_CLOSED)
				     .indicesOptions(IndicesOptions.STRICT_SINGLE_INDEX_NO_EXPAND_FORBID_CLOSED)
			       ;
		System.out.println(client.indices().get(request, RequestOptions.DEFAULT));
	} catch (Throwable e) {
		e.printStackTrace();
	} finally {
		EsClient.close(client);
	}
}

3、伸缩与拆分索引
Split Index,拆分索引。

3.1 Shrink Index
收缩索引。收缩索引API允许您将现有索引收缩为具有较少主碎片的新索引(下文为们称之为目标索引)。伸缩后的索引主分片的个数必须是原分片的公约数,举例说明,如果原先索引的个数为15,那伸缩后的索引主分片数量可以是3、5、1。
索引收缩过程:

  • 首先,它创建一个新的目标索引,其定义与源索引相同,但是主碎片的数量更少。
  • 然后它将段从源索引硬链接到目标索引。如果文件系统不支持硬链接,那么所有段都会复制到新索引中,这是一个非常耗时的过程。
  • 然后恢复目标索引,使其能正常工作。

收缩索引前置条件:

  • 设置索引为只读。
  • 将待收缩索引(Source Index)的所有主分片与副本分片重定向到一个节点上
  • 集群的状态为:green。

首先使用如下API更新源索引的配置信息(settings):

PUT /my_source_index/_settings
{
  "settings": {
    "index.routing.allocation.require._name": "shrink_node_name",  // @1
    "index.blocks.write": true                                                               // @2
  }
}

代码@1:index.routing.allocation.require._name:强制将索引下所有的副本转移到指定名称(node.name)。
代码@2:设置该索引数据只读,无法再添加新的索引数据,但可以改变索引元数据。

注意:此过程可能需要一段时间,可以通过(_cat recovery api)或cluster health API查看其进度。

Shrink API使用示例:

POST my_source_index/_shrink/my_target_index?copy_settings=true
{
  "settings": {
    "index.routing.allocation.require._name": null,     // @1
    "index.blocks.write": null                                       // @2
  }
}

这里要特别注意,由于在收缩之前,改变了原索引的相关配置,收缩后的索引,需要恢复这些配置。

对应的JAVA示例:

public static final void testShrinkIndex() {
		RestHighLevelClient client = EsClient.getClient();
		try {
			Map settings = new HashMap();
			settings.put("index.routing.allocation.require._name", null);
			settings.put("index.blocks.write", false);
			ResizeRequest resizeRequest = new ResizeRequest("targetIndex", "sourceIndex");
			resizeRequest.setCopySettings(true);
			resizeRequest.getTargetIndexRequest().settings(settings);
			ResizeResponse result = client.indices().shrink(resizeRequest, RequestOptions.DEFAULT);
			System.out.println(result);
		} catch (Throwable e) {
			e.printStackTrace();
		} finally {
			EsClient.close(client);
		}
}

上面的请求,只要目标索引在集群中配置,立即胡返回,不会等到收缩完成。

收缩索引的必要条件如下:

  • 目标索引必须不存在。
  • 源索引必须具有比目标索引更多的主分片数量。
  • 目标索引中的主分片数量必须是源索引中的主分片数量的一个公因子。
  • 索引不能包含超过2,147,483,519个文档,因为这是一个碎片中可以容纳的最大文档数量。
  • 处理收缩过程的节点必须有足够的空闲磁盘空间来容纳现有索引的第二个副本。

索引收缩是可以通过_cat recovery api和cluster health api来监控shrink的过程,这两个命令将在后续文章中详解。

收缩索引由于需要创建索引,故支持wait_for_active_shards参数。

3.2 Split Index
拆分索引。
注意:在elasticsearch7.0版本之前,如果将来需要使用split api拆分索引,那么需要在创建索引的时候指定number_of_routing_shards参数,方便日后进行索引的拆分。
number_of_routing_shards用来指定指定内部用于跨具有一致哈希的分片分发文档的哈希空间。例如,一个拥有5个主分片的索引,其number_of_routing_shards设置为30 (5 x 2 x 3)的5切分索引可以除以2或3的因数,其拆分方式如下:

  • 5 → 10 → 30 (split by 2, then by 3)
  • 5 → 15 → 30 (split by 3, then by 2)
  • 5 → 30 (split by 6)

索引拆分过程

  • 首先,它创建一个新的目标索引,其定义与源索引相同,但主分片数量增大。
  • 然后它将段从源索引硬链接到目标索引。(如果文件系统不支持硬链接,那么所有段都会复制到新索引中,这是一个非常耗时的过程。)
  • 一旦创建了底层文件,所有文档将再次散列,以删除属于不同切分的文档。
  • 最后恢复目标索引,使该索引可用。

拆分索引前置条件:

  • 设置索引为只读。

其对应的API:

PUT /my_source_index/_settings
{
  "settings": {
    "index.blocks.write": true     // 设置原索引只读
  }
}

然后使用Split Index拆分索引。

POST my_source_index/_split/my_target_index?copy_settings=true
{
  "settings": {
    "index.number_of_shards": 2
  }
}

其对应的JAVA代码:

@SuppressWarnings({ "rawtypes", "unchecked" })
	public static final void testSplinkIndex() {
		RestHighLevelClient client = EsClient.getClient();
		try {
			Map settings = new HashMap();
			settings.put("index.number_of_shards", 2);
			ResizeRequest resizeRequest = new ResizeRequest("targetIndex", "sourceIndex");
			resizeRequest.setCopySettings(true);
			resizeRequest.getTargetIndexRequest().settings(settings);
			ResizeResponse result = client.indices().split(resizeRequest, RequestOptions.DEFAULT);
			System.out.println(result);
		} catch (Throwable e) {
			e.printStackTrace();
		} finally {
			EsClient.close(client);
		}
	}

拆分索引的必要条件如下:

  • 目标索引必须不存在。
  • 索引的主分片个数必须少于目标索引。
  • 目标索引中的主分片数量必须是源索引中的主分片数量的一个因子。
  • 处理拆分过程的节点必须有足够的空闲磁盘空间来容纳现有索引的第二个副本。

拆分过程的监控与收缩索引相同,不重复介绍。

4、翻转索引
rollover index API,当认为现有索引太大或太旧时,可以使用rollover index API将别名滚到新索引。该API必须接收一个索引别名和一个条件列表(用来从老的索引中过滤需要迁移的文档)。根据别名指向索引的类别,别名元数据将以不同的方式更新。两种情况如下:

  • alias只指向一个单一的索引(索引可写)
    在这个场景中,原始索引的rollover别名将被添加到新创建的索引中,并从原始索引中删除。
  • alias指向多个索引
    一个别名指向多个索引时,其中一个会通过is_write_index =true来表示写索引。
    在这个场景中,将原写索引is_write_index设置为false,而新创建的索引的is_write_index=true。

支持如下条件参数:

  • max_age
    索引年龄,从索引创建时间开始算起。
  • max_docs
    索引应该包含的最大文档数量。
  • max_size
    索引主分片最大大小。

示例:
step1:创建索引,并指定一个别名。

PUT /logs-000001 
{
     "aliases": {
         "logs_write": {}
     }
}

step2:向该索引中添加超过1000个文档。

# Add > 1000 documents to logs-000001

step3:rollover 索引

POST /logs_write/_rollover 
{
"conditions": {
     "max_age":   "7d",     // @1
     "max_docs":  1000,   // @2
     "max_size":  "5gb"     // @3
}
}

代码@1:索引是否已创建7天。
代码@2:索引中包含的文档数量。
代码@3:索引的主分片大小。

4.1 索引命名
如果现有索引的名称以-和一个数字结束,例如logs-000001。然后,新索引的名称将遵循相同的模式,增加数字(log -000002)。无论旧索引名是什么,该数字都是零,长度为6。
如果原索引的名称不符合该格式,则需要手动指定新索引的名称。

POST /my_alias/_rollover/my_new_index_name
{
  "conditions": {
    "max_age":   "7d",
    "max_docs":  1000,
    "max_size": "5gb"
  }
}

4.2 date mesh方式

# PUT /<logs-{now/d}-1> with URI encoding:

PUT /%3Clogs-%7Bnow%2Fd%7D-1%3E    // @1
{
  "aliases": {
    "logs_write": {}
  }
}

PUT logs_write/_doc/1
{
  "message": "a dummy log"
}

POST logs_write/_refresh

# Wait for a day to pass

POST /logs_write/_rollover  // @2
{
  "conditions": {
    "max_docs":   "1"
  }
}

代码@1:使用date mesh格式定义新索引的格式。
代码@2:创建一个以今天的日期(例如)命名的索引log -2016.10.31-1:,转到具有今天日期的新索引,例如如果立即运行,log -2016.10.31-000002,如果24小时后运行,log -2016.11.01-000002。

4.3 dry_run模式
rollover API支持dry_run模式,在这种模式下,无需执行实际的翻转就可以检查请求条件。

4.4 Java示例

public static final void testRolloverIndex() {
		RestHighLevelClient client = EsClient.getClient();
		try {
			// public RolloverRequest(String alias, String newIndexName)
			RolloverRequest resizeRequest = new RolloverRequest("logs_write", null);
			resizeRequest.addMaxIndexAgeCondition(TimeValue.parseTimeValue("7d", "max_age"));
			resizeRequest.addMaxIndexDocsCondition(50);
			resizeRequest.addMaxIndexSizeCondition(ByteSizeValue.parseBytesSizeValue("5G", "max_index_size"));
			resizeRequest.dryRun(true);
			RolloverResponse result = client.indices().rollover(resizeRequest, RequestOptions.DEFAULT);
			System.out.println(result);
		} catch (Throwable e) {
			e.printStackTrace();
		} finally {
			EsClient.close(client);
		}
	}

在创建RolloverRequest时,newIndexName可以指定为空,新索引的命名遵循4.1、4.2中的规则。

本节详细介绍了索引管理相关的API,主要包括Index Create、Delete Index、Get index、indices Exists Index、Open/Close Index 、Shrink Index、Split Index、Rollover Index。有关于索引的更新,包括(映射Mapping、配置Settings)的更新比较简单,就不做介绍,下一节,我们重点探讨索引模板(Index Templates)。


见文如面,我是威哥,热衷于成体系剖析JAVA主流中间件,关注公众号『中间件兴趣圈』,回复专栏可获取成体系专栏导航,回复资料可以获取笔者的学习思维导图。
在这里插入图片描述

ES索引生命周期管理 基于如何 定时删除ES索引过期数据 而引发的一系列关于ES索引生命周期管理ILM(Index Lifecycle Management)的学习。 阅读详情

相关推荐

淘宝x-mini-wua生成机制与硬件信息关联性深度解析

本文深度解析了淘宝x-mini-wua的生成机制与硬件信息的关联性,详细介绍了其作为设备指纹令牌的核心作用及技术实现细节。通过分析基础硬件层、环境特征层和行为特征层的数据采集,揭示了淘宝如何利用AES加密和分级加密策略防止破解,并探讨了其安全防护与对抗策略。

weixin_29243279的博客 230

ES创建索引

在 Elasticsearch (ES) 中,创建索引可以通过 REST API 或者编程语言客户端实现。

qq_43720551的博客 1万+

数据仓库建模的步骤-从需求分析到模型优化的全面指南

数据仓库建模是一个系统化的过程,旨在设计和构建一个高效、可扩展的数据存储和分析环境。它的目标是将来自不同源系统的数据整合到一个统一的、面向主题的、随时间变化的数据集合中,以支持企业的决策制定过程。数据仓库建模不仅仅是创建表格和定义关系,它更是一门艺术,需要平衡业务需求、技术限制和未来的可扩展性。提供快速的查询性能支持复杂的分析需求适应业务的变化和增长保持数据的一致性和准确性接下来,让我们深入探讨数据仓库建模的每个主要步骤。

一个8年大数据开发工程师的碎碎念 2099

Elasticsearch 7.10 之 Index management

Kibana 的 Index Management 功能是管理集群的索引、数据流和索引模板的简便方法。练习良好的索引管理可确保您的数据以尽可能最具成本效益的方式正确存储。 What you’ll learn 您将学习如何: 查看和编辑索引设置。 查看索引的映射和统计信息。 执行索引级操作,例如刷新和冻结。 查看和管理数据流。 创建索引模板以自动配置新的数据流和索引。 Required permissions 如果使用 Elasticsearch 安全功能,则需要以下安全特权: monitor 集群特权

王大呀呀的博客 2953

QCC308X/518X/309X加LDAC解码

QCC308X/518X/309X加LDAC解码。

Alex_886的博客 6609

SRT公网点对点传输及搭建SRT流媒体服务器

SRT是一种开源传输技术,它是基于UDP协议的,与RTMP不同的是,它具有高码率低延迟的传输特性,加强了在复杂不稳定网络环境中的传输可靠性,提升了不可预测的网络环境上的流传输性能。它不像NDI那样只适用于局域网传输,它更适用于公网环境下的信号传输。 S代表Secure,即安全加密的视频流,R代表Reliable,即具有从数据严重丢包中恢复的可靠性,T代表Transport,即动态适应变化的网络状况。 在音视频数据包传输的过程中,SRT会检测并适应两个传输点之间的实时网络状况,有助于补偿由于网络的拥塞而引起的

罗宇。的媒体技术工作室 1万+

elasticsearch中的API

elasticsearch中的API es中的API按照大类分为下面几种: 文档API: 提供对文档的增删改查操作 搜索API: 提供对文档进行某个字段的查询 索引API: 提供对索引进行操作 查看API: 按照更直观的形式返回数据,更适用于控制台请求展示 集群API: 对集群进行查看和操作的API 文档API Index API: 创建并建立索引 Get API: 获取文档 DELETE ...

weixin_34293902的博客 580

关于112G和56G PAM4信号的有效回损(ERL)

本文探讨了回波损耗(RL)对高速数字通信系统性能的影响,重点分析了时域信道运行裕度(COM)与频域回波损耗指标的关联性。研究表明,传统频域回波损耗指标在预测系统性能时存在假阳性/假阴性问题,特别是对PAM-4信号系统影响更为显著。通过引入基于时域脉冲响应的有效回波损耗(ERL)指标,并结合判决反馈均衡器(DFE)的补偿效应,可更准确评估系统性能。实验表明,短封装器件虽然频域回波损耗较差,但在实际系统中表现更优。研究提出通过时域门控加权等方法优化ERL计算,为高速互连设计提供了更可靠的性能评估框架。

小孟同学的博客 292

ES系列-- ILM索引生命周期管理

前言 官方文档地址7.8版本 正文 ILM定义了四个生命周期阶段: Hot:正在积极地更新和查询索引。 Warm:不再更新索引,但仍在查询。 cold:不再更新索引,很少查询。信息仍然需要可搜索,但是如果这些查询速度较慢也可以。 Delete:不再需要该索引,可以安全地将其删除。 ILM定期运行(indices.lifecycle.poll_interval),默认是10分钟,检查索引是否符合策略标准,并执行所需的任何步骤。 为了避免争用情况,ILM可能需要运行多次以执行完成一项动作所需的所有步骤。所以,即

soso的博客 5715

嵌入式工程师必学(52):储能系统ESS

能量存储系统(ESS,Energystoragesystems)存在于各种各样的尺寸、形状和技术中。储能系统的技术,即基本的储能机制,自然会影响其重要特性,包括成本、安全性、性能、可靠性和寿命。然而,尽管基础技术很重要,但一个成功的储能项目依赖于对该技术的彻底和深思熟虑的实施,以实现项目的目标。成功的实施取决于储能系统的架构和组装情况。系统的体系结构可以决定其性能和可靠性,与它所使用的技术一致,甚至与之无关。

码农17年的博客 1443

Electron - Electron failed to install correctly, please delete node_modules/electron and try install

Electron安装失败:Electron failed to install correctly, please delete node_modules/electron and try installing again,electron安装报错:Electron failed to install correctly...解决方案,Electron 未能正确安装,请删除 node_modules/electron,然后再次尝试安装,如何解决这个问题,手把手教你解决,在yarn dev时报错,electr

🏆 前端领域优质创作者 4368

es数据定时清理_ElasticSearch定时删除数据(非时间结尾规律索引)

首先:对于针对性的索引清理定期数据可行方法:1.手动清理可基于kibana索引管理进行索引数据清理2.api清理curl -XDELETE 'http://ip:端口/索引'3.脚本清理#!/bin/sh# example: sh delete_es_by_day.sh logstash-kettle-log logsdate 30index_name=$1daycolumn=$2saveday...

weixin_39611031的博客 856

SAP RAP学习系列合集介绍

《SAP RAP学习系列合集:从入门到部署的完整指南》摘要: 本文介绍了作者创建的SAP RAP学习系列合集,涵盖RAP开发从基础概念到实战部署的全流程。系列目前包含17篇文章,系统讲解了RAP核心开发技术:从数据建模、UI构建到行为定义(包括并发控制、草稿功能、授权验证等),最后详细演示了应用部署到Fiori Launchpad的两种方案(OP版和ES版)。

DeveloperMrMeng的博客 1490

Elasticsearch - Elasticsearch 索引模板 统一管理索引配置

本文将深入探讨Elasticsearch索引模板的核心概念与应用实践,帮助开发者实现索引配置的统一管理。索引模板作为一种声明式配置机制,能够自动化管理索引结构与行为,解决手动配置效率低、易出错的问题。 文章首先通过日志轮转、多租户SaaS平台等实际场景,阐释了索引模板的必要性。然后对比了新旧版模板系统的差异,重点介绍了Elasticsearch 7.8+引入的组件模板和索引模板组合模型,展示了其在模块化、复用性和优先级管理方面的优势。 核心内容包括:组件模板和索引模板的定义、配置和使用方法,通过Kibana

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Logstash 连接 Elasticsearch Serverless:使用 API Key 与数据流发送数据的完整指南

本文基于 Logstash 官方文档,讲解如何将数据从 Logstash 安全地发送到 Elastic Cloud 上的 Elasticsearch Serverless(下称 ES Serverless)。ES Serverless 由平台自动管理分布式与高可用基础设施,随负载自动扩缩容,无需关心集群运维。读完本文,你将掌握:通过 elasticsearch 输出插件以项目 ES 端点 URL

gitblog_01104的博客 692

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

[Elasticsearch] 索引管理

索引管理 本文翻译自Elasticsearch官方指南的索引管理(Index Management)一章 我们已经了解了ES是如何在不需要任何复杂的计划和安装就能让我们很容易地开始开发一个新的应用的。但是,用不了多久你就会想要仔细调整索引和搜索过程来更好的适配你的用例。 几乎所有的定制都和索引(Index)以及其中的类型(Type)相关。本章我们就来讨论用于管理索引和类型映射

wang_zhenwei的博客 2807

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Elasticsearch 索引生命周期(Index Lifecycle Management, ILM)深度解析与实战指南

本文系统解析 Elasticsearch 索引生命周期管理(ILM),涵盖从概念、历史演进,到策略配置、操作实战、与模板及数据流集成、监控调优与故障排查等多个维度。文章既有详尽的理论解释,也配合可直接在 Kibana Dev Tools 复制执行的示例,帮助读者在生产环境中安全落地 ILM。适合中高级 Elasticsearch 使用者、运维工程师和架构师阅读,全文超过 5000 字,提供端到端实践案例和最佳实践总结。

持续输出Java相关知识 1410

metricbeat接入prometheus输出es,动态创建index

通过上述步骤,你可以配置 Metricbeat 动态创建索引,并使用 ILM 自动删除过去一天或两个小时的指定索引。创建 ILM 策略: 定义索引的生命周期阶段,包括滚动更新和删除。创建索引模板: 应用 ILM 策略到索引模板。初始化第一个索引: 创建初始索引并设置 rollover 别名。配置 Metricbeat: 使用 rollover alias 并应用索引模板。通过这些配置,Metricbeat 将每小时创建一个新的索引,并根据 ILM 策略自动删除过去一天或两个小时的索引。

weixin_41556605的博客 1256

【Elasticsearch】ILM(Index Lifecycle Management)策略详解

ILM(Index Lifecycle Management,索引生命周期管理)是 Elasticsearch 提供的一种自动化管理索引生命周期的机制。它允许用户根据预先定义的策略,自动执行索引的滚动更新(rollover)、分片分配、冻结和删除等操作,无需人工干预。

Data · Model · Agent · Repeat 2129

DjangoBlog 搜索引擎配置指南:Whoosh 与 Elasticsearch 双引擎切换与调优实战

DjangoBlog 内置了「Whoosh(纯 Python,开箱即用)」与「Elasticsearch(高性能分布式)」两套搜索引擎后端,本文基于 [docs/search-engine-config.md](https://link.gitcode.com/i/5f65b528e814d3a11a5cc18630dd6cdc) 完整讲解二者的快速启用、开发/生产环境的配置方法、环境变量与手动配

gitblog_00156的博客 907

Elasticsearch 索引管理

Index 管理 创建一个Index PUT index_name 我们可以通过如上命令创建一个Index。这个索引采用的是默认的配置,新的字段通过动态映射的方式被添加到类型映射,十分不灵活。现在我们需要对这个建立索引的过程做更多的控制,如:定义使用其它分词器、是否分词、是否存储等。就需要我...

chunjiangbi4176的博客 195

Elasticsearch的Index Lifecycle Management(ILM)

Elasticsearch的Index Lifecycle Management(ILM)功能提供了一种自动化管理索引生命周期的方式。ILM使得用户可以基于特定的条件(如索引的年龄、大小等)来自动执行如回滚、删除等操作,进而优化存储和提高查询性能。ILM主要包括四个阶段:Hot、Warm、Cold和Delete,每个阶段都可以自定义一系列的操作。

围城客的专栏 1928

Elasticsearch冷热分离与索引生命周期管理

本文介绍在Elasticsearch集群上,通过生命周期管理ILM(Index Lifecycle Management)功能,实现冷热数据分离的实践流程。通过本实践,您既可以实现在保证集群读写性能的基础上,自动维护集群上的冷热数据,又能通过优化集群架构,降低企业生产成本。 背景信息 当今大数据时代,数据时刻在更新变化。尤其是随着时间的积累,存储在Elasticsearch中的数据会越来越多,当数据达到一定量时,必然会造成服务的内存、CPU、IO等指标上涨,影响Elasticsearch的全文检索能力。为此

Cloud Tech的博客 2299

ES滚动索引机制

滚动索引的作用: - 在高性能热节点上优化高摄取率的活动指标。 - 优化暖节点的搜索性能 - 将较旧、较少访问的数据转移到较便宜的冷节点 - 通过删除整个索引来根据保留策略删除数据。

弹指天下 5896

docker 部署ES

Elasticsearch (ES) 提供了非常丰富的 RESTful API 来管理和操作数据。我会为你介绍一些最重要和常用的请求 URL 及其使用方法。下面的表格汇总了 ES 的主要 API 类别和用途,方便你快速了解:API 类别主要用途示例 URL (HTTP 方法)查看集群健康、节点信息、索引状态等v创建、查看、删除索引对文档进行增 (Create)、查 (Read)、改 (Update)、删 (Delete)执行各种条件搜索、全文检索、聚合分析。

2301_76318712的博客 2131
上一篇: Elasticsearch Index Aliases详解
下一篇: Elasticsearch Index Templates(索引模板)
中间件兴趣圈
中间件兴趣圈 2020博客之星TOP2 2020博客之星TOP2 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄15年 4万+粉丝 351原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中间件兴趣圈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值