我在java中有一个项目,我使用弹性搜索2.3.3对数据进行索引。索引有两种类型。
我的索引文档如下所示:
{
"took": 10,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 3,
"max_score": 1,
"hits": [
{
"_index": "test_index",
"_type": "movies",
"_id": "uReb0g9KSLKS18sTATdr3A",
"_score": 1,
"_source": {
"genre": "Thriller"
}
},
{
"_index": "test_index",
"_type": "drama",
"_id": "cReb0g9KSKLS18sTATdr3B",
"_score": 1,
"_source": {
"genre": "SuperNatural"
}
},
{
"_index": "index1",
"_type": "drama",
"_id": "cReb0g9KSKLS18sT76ng3B",
"_score": 1,
"_source": {
"genre": "Romance"
}
}
]
}
}
我只需要删除特定名称和类型的索引。
例如:-从上面的文档中,我想删除名为“test\u index”的索引,并键入“戏剧”。
因此,结果应该如下所示:
{
"took": 10,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 2,
"max_score": 1,
"hits": [
{
"_index": "test_index",
"_type": "movies",
"_id": "uReb0g9KSLKS18sTATdr3A",
"_score": 1,
"_source": {
"genre": "Thriller"
}
},
{
"_index": "index1",
"_type": "drama",
"_id": "cReb0g9KSKLS18sT76ng3B",
"_score": 1,
"_source": {
"genre": "Romance"
}
}
]
}
}
尝试的解决方案:
客户admin()。索引()。删除(new DeleteIndexRequest(“test\u index”)。actionGet();
但它删除了名称为“test_index”的两个索引
我还尝试了各种sense测试插件查询,如:
删除/测试索引/戏剧
它给出了错误:找不到uri[/test\u index/traic]和方法[DELETE]的处理程序
删除 /test_index/drama/_query?q=_id:*
它也不起作用。
当我在那个时候发出删除索引请求时,我们不知道索引的ID,我必须仅按名称和类型删除索引。
如何使用java api删除所需的索引?
在使用删除映射API的ES 2.0之前,这曾经是可能的,但是由于2.0删除映射
API不再存在。为此,您必须安装按查询删除插件。然后您只需对索引和类型进行匹配所有查询,然后将其全部删除。
查询如下所示:
DELETE /test_index/drama/_query
{
"query": {
"query": {
"match_all": {}
}
}
}
还要记住,这将删除映射中的文档,而不是映射本身。如果要删除映射,则必须在没有映射的情况下重新索引。
这可能有助于您实现java
本文向大家介绍如何使用Java在MongoDB中删除索引?,包括了如何使用Java在MongoDB中删除索引?的使用技巧和注意事项,需要的朋友参考一下 在MongoDB中删除索引,您需要使用dropIndex()方法。 语法 在Java中,可以使用dropIndex()方法删除索引,您需要将索引的类型(升序或降序)和在其上创建字段的名称传递给该方法。 示例 输出结果
问题内容: 我正在使用带有NEST的C#.NET应用程序来创建索引。 我创建了一个Elasticsearch索引,客户可以查询该索引,称为index_1。然后,我使用应用程序的不同实例构建索引的另一个版本,并将其称为index_1_temp。 我将index_1_temp重命名为index_1然后删除原始index_1的最安全方法是什么? 我知道ES具有别名,但是我不确定如何将其用于此任务 编辑:
我刚刚开始学习Spring,我面临以下问题。有人能指出我可能做错了什么吗? 线程“main”组织中出现异常。springframework。豆。工厂BeanDefinitionStoreException:IOException解析来自类路径资源[org/pus/learn/src/main/resources/applicationBean.XML]的XML文档;嵌套的例外是java。伊奥。Fi
问题内容: 我知道可以通过deleteByQuery从某种类型删除所有文档。 例: 但是我没有术语,只是想删除该类型的所有文档,无论使用什么术语。什么是实现这一目标的最佳实践?空项不起作用。 链接到deleteByQuery 问题答案: 我相信,如果您将通过查询进行的删除与匹配相结合,则它应该做您想要的所有事情(例如,使用示例): 或者您可以删除类型:
问题内容: 我可以通过传递索引名称,类型和ID来删除文档,如下所示: 但是,当我试图通过仅提供索引名称来删除索引时,如下所示(根据此文档) 得到- 我已经尝试过另一种这样的方式(参考) 得到: 我正在使用此依赖项: mvn依赖项:树 这是我的pom.xml 问题答案: Spring-boot v2.1.2发行版为Elasticsearch版本定义了以下属性: 和以下依赖 这就是在依赖树中这样做的原
问题内容: 我的许多日志都以logstash-Year- Week格式编制索引。那就是如果我想删除超过几周的索引,如何在elasticsearch中实现。有没有简单,无缝的方法可以做到这一点? 问题答案: 策展人将是这里的理想之选。您可以在这里找到链接-https: //github.com/elastic/curator 如下所示的命令应该可以正常工作- 您可以将其保留在CRON中,以偶尔删除索