使用java客户端从Elasticsearch中按名称删除索引时出现问题
我使用的是Elasticsearch 6.5.4版本,当我使用以下代码按其名称删除一个索引时,它工作正常,但当我尝试使用已删除的索引名称而不是获取“无此类索引”消息时,我会得到一些其他索引中存在的文档 但在删除该索引之前,当我使用同一查询搜索时,我仅从该索引中获得结果,奇怪 1.使用低级Rest客户端删除索引使用java客户端从Elasticsearch中按名称删除索引时出现问题,java,spring-boot,
elasticsearch,elastic-stack,Java,Spring Boot,
elasticsearch,Elastic Stack,我使用的是Elasticsearch 6.5.4版本,当我使用以下代码按其名称删除一个索引时,它工作正常,但当我尝试使用已删除的索引名称而不是获取“无此类索引”消息时,我会得到一些其他索引中存在的文档 但在删除该索引之前,当我使用同一查询搜索时,我仅从该索引中获得结果,奇怪 1.使用低级Rest客户端删除索引 Request req = new Request("DELETE", "/"+allData.getIndexName()); Response response = getElas
Request req = new Request("DELETE", "/"+allData.getIndexName());
Response response = getElasticRestClient().performRequest(req);
DeleteIndexRequest request = new DeleteIndexRequest(allData.getIndexName());
AcknowledgedResponse deleteIndexResponse = client.indices().delete(request, RequestOptions.DEFAULT);
2.使用高级Rest客户端删除索引
Request req = new Request("DELETE", "/"+allData.getIndexName());
Response response = getElasticRestClient().performRequest(req);
DeleteIndexRequest request = new DeleteIndexRequest(allData.getIndexName());
AcknowledgedResponse deleteIndexResponse = client.indices().delete(request, RequestOptions.DEFAULT);
我尝试了这两种方法,在这两种情况下,索引都被成功删除,但在使用已删除的indexname进行搜索时面临相同的问题
现在,我已经先删除了所有索引,然后检查了GET _cat/索引和GET _cat/别名,在那里我得到了“[]”
然后我创建了两个名为“动作电影”和“超级英雄电影”的索引,并为每个索引添加了3个文档
现在,当我检查GET _cat/别名时,得到了与以前一样的[]。
对于GET(猫/指数GET),
["superhero_movies",
"action_movies"]
现在当我搜索索引“action_movies”并得到以下结果时
《超级英雄电影》获得了以下结果
然后删除索引“action\u movies”,并重复GET\u cat/别名和GET[]
然后获取_cat/索引并获取
["action_movies"]
最后我搜索了“动作电影”我得到了以下结果(文档属于索引“超级英雄电影”),而不是“没有这样的索引”
您要删除的具体索引名是什么,然后删除后从中获取数据的具体索引名是什么?@Val{“indexName”:“sanjh_test_local”}在删除索引前后运行
get_cat/index
和get_cat/alias
时会得到什么。请用结果更新您的问题。@Val我已经编辑了这篇文章,请您现在检查一下好吗?我有兴趣看到您直接从Elasticsearch而不是通过另一个代理框架(充当邮递员和ES之间的中间人)获得的结果。