AWS ElasticSearch:如何将策略应用于索引

2024-04-17

我们有一个 AWS ElasticSearch 域,正在向其中写入记录/文档。我现在已经在 Kibana 中创建了索引状态/生命周期管理 (ISM/ILM) 策略,并且可以将该策略应用于 Kibana 中的索引。现在,我想在从处理索引写入的 Java 代码(使用高级 REST API)创建索引时应用该策略。

我在高级 REST API 中没有发现专门允许将策略分配给索引的方法,但是我认为我应该能够使用创建索引时使用的 RequestOptions 对象来完成此操作。该文档非常薄,但似乎我应该能够基本上将键/值插入到索引属性中。 例如,当我检查手动分配策略的索引时,找到分配策略的以下键。

"settings" : {
  "index" : {
    "opendistro" : {
      "index_state_management" : {
        "policy_id" : "DefaultLifeCyclePolicy_30DayWarm_180DayDelete"
      }
    },

假设我可以将类似的键插入 Index 对象似乎是合理的。下面的代码看起来应该可以工作。它运行时没有错误,但 RequestOptions 没有做任何有用的事情。

        boolean isExisting = mAwsClient.indices().exists(new GetIndexRequest(indexNameFull), RequestOptions.DEFAULT);
        if (!isExisting) {
            RequestOptions.Builder builder = RequestOptions.DEFAULT.toBuilder();
            builder.addHeader("settings.opendistro.index_state_management.policy_id", mIndexStateMgmtPolicy);
            RequestOptions requestOptions = builder.build();

            CreateIndexRequest request = new CreateIndexRequest(indexNameFull);
            request.mapping(mapping, XContentType.JSON);
            CreateIndexResponse createIndexResponse = mAwsClient.indices().create(request, requestOptions);
        }

那么,如何使用 Java 将 ISM/ILM 策略分配给索引?

顺便说一句,我研究过创建一个索引模板,它应该在创建索引时自动分配策略,但 OpenDistro Kibana 似乎没有该功能。


顺便说一句,我已经考虑过创建一个索引模板,它应该分配 该策略会自动创建索引,但 OpenDistro Kibana 好像没有这个功能。

您可以通过以下方式使用索引模板在创建索引时应用ISM策略:

PUT _template/template_1
{
  "index_patterns": [
    "test-index*"
  ],
  "settings": {
    "index": {
      "opendistro": {
        "index_state_management": {
          "policy_id": "DefaultLifeCyclePolicy_30DayWarm_180DayDelete"
        }
      }
    }
  }
}

对于展期指数:

  1. 确保您有别名:

POST /_aliases
{
    "actions" : [
        { "add" : { "index" : "test-index-000001", "alias" : "test-index" } }
    ]
} 

  1. 模板:

PUT _template/template_1
{
  "index_patterns": [
    "test-index*"
  ],
  "settings": {
    "index": {
      "opendistro": {
        "index_state_management": {
          "policy_id": "DefaultLifeCyclePolicy_30DayWarm_180DayDelete",
          "rollover_alias": "test-index"
        }
      }
    }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AWS ElasticSearch:如何将策略应用于索引 的相关文章

  • 我是否需要安装 SQLite 才能使 SQLiteJDBC 正常工作?

    我想我只是没有 明白 如果我的计算机上尚未安装 SQLite 并且我想编写一个使用嵌入式数据库的 Java 应用程序 并且我将 SQLiteJDBC JAR 下载 导入到我的项目中 那么这就是我所需要的吗 或者 我是否需要先安装 SQLit
  • 使用 Java 的 Apache Http 摘要身份验证

    我目前正在开发一个 Java 项目 但无法使 http 摘要身份验证正常工作 我尝试使用 Apache 网站 但没有帮助 我有一个需要 HTTP 摘要身份验证的网站 DefaultHttpClient httpclient new Defa
  • 带路径压缩算法的加权 Quick-Union

    有一种 带路径压缩的加权快速联合 算法 代码 public class WeightedQU private int id private int iz public WeightedQU int N id new int N iz new
  • 如何在由子控件组成的 SWT 复合材料上跟踪鼠标?

    我创建了自己的控件 我想跟踪鼠标并添加一个MouseTrackListener 很遗憾MouseEnter and MouseLeave当鼠标移动到我的合成部分 即标签和按钮 上时 也会生成事件 Mouse enter mouse ente
  • TreeMap 删除所有大于某个键的键

    在项目中 我需要删除键值大于某个键的所有对象 键类型为Date 如果重要的话 据我所知TreeMapJava中实现的是红黑树 它是一种二叉搜索树 所以我应该得到O n 删除子树时 但除了制作尾部视图并一一删除之外 我找不到任何方法可以做到这
  • java.lang.ClassNotFoundException:javax.mail.MessagingException

    我想使用 eclipse 将电子邮件从我的 gmail 帐户发送到另一个邮件帐户 我使用 apache tomcat 7 0 34 作为我的 Web 服务器 并使用端口 8080 作为 apache 服务器 HTTP 1 1 并使用 JRE
  • 如何在java中将数组值排序为循环格式?

    我的数组值如下 String value 1 2 3 4 5 6 7 8 9 10 假设如果我将值 5 传递给 tat 数组 它应该按如下顺序排序 5 6 7 8 9 10 1 2 3 4 怎么办 有人帮忙吗 感谢你 你需要的就是所谓的轮换
  • 什么是抽象类? [复制]

    这个问题在这里已经有答案了 当我了解抽象类时 我说 WT H 问题 创建一个无法实例化的类有什么意义呢 为什么有人想要这样的课程 什么情况下需要抽象类 如果你明白我的意思 最常见的是用作基类或接口 某些语言有单独的interface构建 有
  • 将巨大的模式编译成Java

    有两个主要工具提供了将 XSD 模式编译为 Java 的方法 xmlbeans 和 JAXB 问题是 XSD 模式确实很大 30MB 的 XML 文件 大部分模式在我的项目中没有使用 所以我可以注释掉大部分代码 但这不是一个好的解决方案 目
  • Runtime.exec 处理包含多个空格的参数

    我怎样才能进行以下运行 public class ExecTest public static void main String args try Notice the multiple spaces in the argument Str
  • 断言 Kafka 发送有效

    我正在使用 Spring Boot 编写一个应用程序 因此要写信给 Kafka 我这样做 Autowired private KafkaTemplate
  • 将非 Android 项目添加到 Android 项目

    我在 Eclipse 中有三个项目 Base Server 和 AndroidClient Base和Server是Java 1 7项目 而AndroidClient显然是一个android项目 基础项目具有在服务器和 Android 客户
  • 如何在 ant 中为 junit 测试设置 file.encoding?

    我还没有完全完成file encoding 和 ant https stackoverflow com questions 1339352 how do i set dfile encoding within ants build xml
  • hibernate 6.0.2.Final 和 spring boot 2.7.0 的entityManagerFactory bean 未配置问题

    所以最近我想升级我的 Spring Boot 项目项目的一些依赖项 特别是这些组件 雅加达 EE 9 弹簧靴2 7 休眠 6 0 2 Final 完成此操作后 所有更新和代码折射 更新将 javax 导入到 jakarta 以及一些 hib
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • 在 Spring 上下文中查找方法级自定义注释

    我想知道的是 所有的类 方法Spring http en wikipedia org wiki Spring Framework注释为 Versioned的bean 我创建了自定义注释 Target ElementType METHOD E
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • Android View Canvas onDraw 未执行

    我目前正在开发一个自定义视图 它在画布上绘制一些图块 这些图块是从多个文件加载的 并将在需要时加载 它们将由 AsyncTask 加载 如果它们已经加载 它们只会被绘制在画布上 这工作正常 如果加载了这些图片 AsyncTask 就会触发v
  • java'assert'和'if(){}else exit;'之间的区别

    java和java有什么区别assert and if else exit 我可以用吗if else exit代替assert 也许有点谷歌 您应该记住的主要事情是 if else 语句应该用于程序流程控制 而assert 关键字应该仅用于
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • 为 Android 构建 Valgrind

    使用 ndk r6 或 ndk r8d 在 ubuntu 12 04 上构建 valgrind 3 8 1 失败 并出现以下错误 cc1 Error not rekognized option marm priv main globals
  • VSCode 调试器附加到本地进程

    PyCharm 的一大特色是它允许其调试器附加到本地运行 以及 IDE 外部 的 python 进程 当我尝试迁移到 VSCode 以在 Python 中工作时 我很难配置启动 json模拟 PyCharm 的附加到本地进程功能 name
  • 如何强制 Angular cli 从绝对位置而不是 base-href 提供包文件

    我正在努力将使用 cli 构建的 Angular 4 项目部署到 Spring boot 服务器 In the angular cli json我添加了 outdir 属性 它指向 Spring webapp 文件夹内的自定义文件夹 可以直
  • Swagger UI 嵌套可扩展分组

    我正在使用 SwaggerUI 来记录 API 端点 目前 它们按控制器名称分组在一个长列表中 然后 您可以展开每个控制器来查看操作 一切标准 我想做的是将控制器分组到常见的可扩展组下 例如 您有一个宠物组 可以将其展开以显示猫和狗控制器
  • 如何在 Listview 绑定 Xamarin.Forms 内创建网格

    如何使用数据绑定在 ListView 内创建网格 我正在使用 Xamarin Forms 创建这个应用程序 如果我不知道需要多少行和列 如何在 ListView 绑定内动态创建网格 这是我到目前为止所拥有的
  • 如何在BehaviorSubject中设置默认值

    可能是一个菜鸟问题 如何为BehaviorSubject 设置默认值 我有一个具有 2 个不同值的枚举 enum class WidgetState HIDDEN VISIBLE 以及发出状态的行为主体 val widgetStateEmi
  • 使用 JMockit 模拟私有静态字段?

    我有一个像下面这样的课程 class ClassA private static File myDir myDir is created at some stage private static String findFile final
  • 预编译 JavaScript 模板以在项目构建时发挥作用

    Update我想避免在客户端编译模板 并在本地 ant 构建过程中编译它们 也许像将 jQuery 和 jQuery 模板加载到 rhino 中 传递 template 依次处理每个 jst 文件的内容 并构建一个 templates js
  • GNU Make 获取父目标名称

    在gnu make中 有没有办法获取启动整个链的原始目标并将执行引导到当前配方 PHONY all clean common all common clean common common echo echo MAKECMDGOALS for
  • PreparedStatement缓存——它是什么意思(它是如何工作的)

    例如 我使用 c3p0 和一些定义的 maxStatements 来进行准备语句缓存 这个缓存到底有什么作用 它缓存什么样的数据 在什么级别 数据库 应用程序 从例子中理解它会很好 例如我有一个查询 从某个表中选择 其中某个列 现在我在未缓
  • 来自 bash 脚本的电子邮件

    bin bash MESSAGE Line one n MESSAGE MESSAGE Line two n MESSAGE MESSAGE Line three echo MESSAGE mail s test email protect
  • 进入编辑模式时保持 UITableViewCell 背景颜色

    我已经为所有 UITableViewCell 设置了背景颜色 但是 当我单击 UIBarButtonItem 编辑 时 删除和可拖动图标会扭曲背景颜色 使其后面出现白色背景 有没有办法解决 如有必要 我可以显示代码 但这似乎是一个非常简单的
  • 从 .xbindkeysrc 执行命令后退出终端

    我正在尝试使用 xbindkeysrc 将命令绑定到密钥 即该命令从 keepassxc 检索密码 并将其作为标准输入回显到 openconnect 用于 VPN 连接 命令 最后关闭终端 以下内容完成了所有这些工作 并且有效 psswd
  • 错误域=AVFoundationErrorDomain代码=-11800“操作无法完成。错误域=NSOSStatusErrorDomain代码=-16170“(空)”

    我在聊天应用程序中使用 AVPlayer 但在选定的音频文件中遇到以下错误 但音频文件在浏览器中正确播放 错误域 AVFoundationErrorDomain代码 11800 该操作可以 未完成 UserInfo NSUnderlying
  • iOS - UIProgressView 仅更新一次

    我正在从 API 加载数据 并使用 UIProgressView 来显示已加载的数据量 在我看来 WillAppear 我使用 Reachability 来检查是否有互联网连接 然后 如果存在 则在函数中调用以下行 10 次 self pe
  • 填写记录中缺失的日期

    我有一个收藏ProductViews productId 5b8c0f3204a10228b00a1745 createdAt 2018 09 07T17 18 40 759Z 我有一个查询 用于获取特定产品的每日视图 ProductVie
  • 在 Entity Framework Core 中使用 SQL 视图

    例如 我有这样的模型 public class Blog public int BlogId get set public string Url get set public BlogImage BlogImage get set publ
  • 具有多个服务器的计划任务 - 单点责任

    我们有一个 Spring JPA Web 应用程序 我们使用两个运行应用程序并使用相同数据库的 tomcat 服务器 您的应用程序要求之一是执行 cron 计划任务 经过简短的研究 我们发现 Spring 框架为 cron 作业提供了一个非
  • Struts2中ActionMapper、ActionProxy、ActionInitation、ActionContext对象的范围?

    任何人都可以描述一下我的对象吗 ActionMapper ActionProxy ActionInvocation ActionContext在 Struts2 应用程序中创建 由于我是 Struts2 框架的新手 我对这些对象的范围感到非
  • AWS ElasticSearch:如何将策略应用于索引

    我们有一个 AWS ElasticSearch 域 正在向其中写入记录 文档 我现在已经在 Kibana 中创建了索引状态 生命周期管理 ISM ILM 策略 并且可以将该策略应用于 Kibana 中的索引 现在 我想在从处理索引写入的 J