【问题标题】:ElasticSearch - Delete an Index using Java HighLevel HTTP ClientElasticSearch - 使用 Java HighLevel HTTP 客户端删除索引
【发布时间】:2018-01-18 05:58:21
【问题描述】:

以前使用 ElasticSearch Transport API,我使用下面的程序行删除了一个索引及其数据。

            DeleteByQueryAction.INSTANCE.newRequestBuilder(client).source(indexName).get();

我们现在从传输客户端 API 迁移到 HTTP 客户端 API。不幸的是,据我所知,ES HighLevel HTTP 客户端 API 不支持此功能。有没有办法使用 HTTP 客户端删除索引?

已编辑: 我正在使用 ES Rest 客户端 API 版本 5.6.4。删除索引在最新的 6.x 版本中可用。我正在寻找删除版本 5.6.4 中的索引。谢谢

【问题讨论】:

标签: java elasticsearch


【解决方案1】:

然后我建议使用低级 REST API 对您的索引进行 DELETE 调用,这样就可以了

Response response = restClient.performRequest("DELETE", "/" + indexName); 

请注意,您不需要使用 Delete by query API 来删除索引。

【讨论】:

  • 删除特定索引工作正常。但是删除后,当我尝试使用相同的索引名称获取数据时,我得到了一些意想不到的数据,而不是消息“该索引不存在”或其他内容。 @Val 你知道出了什么问题吗?
  • @Bran 你得到了什么消息?
  • 它不会返回任何错误或警告,而是返回一些不属于该已删除索引的文档。注意:我在搜索时只给出了那个索引名称(被删除的那个)。
  • 我建议您创建一个新问题来描述您的确切问题,该线程已关闭,在 cmets 中填充另一个问题不是一个好主意。
猜你喜欢
  • 1970-01-01
  • 2012-05-13
  • 2015-11-10
  • 2019-08-23
  • 1970-01-01
  • 2016-09-28
  • 2017-07-05
  • 2011-02-09
  • 1970-01-01
相关资源
最近更新 更多