Ich habe den seltsamen Effekt, dass eine Suche auf einem Index ein Dokument zurückgibt, das ich gerade zuvor gelöscht habe. Ein "Get" funktioniert richtig. Mache ich etwas falsch? Die Suche hat keine Einschränkungen (client.prepareSearch("test").execute(...)
)Suche gibt Dokument nach dem Löschen
Ich bin ein „ESIntegTestCase“ mit Elasticsearch 5,0
@Test
public void testES() throws Exception {
String index = "test";
String type = "event";
String doc = "{\"Key0\":\"Val0\"}";
createIndex(index);
Semaphore sem = new Semaphore(0);
client().prepareIndex(index, type).setSource(doc).execute(handleOrError(postResp -> {
client().prepareGet(postResp.getIndex(), postResp.getType(), postResp.getId()).execute(handleOrError(getResp -> {
printGR(getResp);
client().prepareSearch(postResp.getIndex()).execute(handleOrError(searchResponse -> {
printSR(searchResponse);
client().prepareDelete(postResp.getIndex(), postResp.getType(), postResp.getId()).execute(handleOrError(resp -> {
printDR(resp);
client().prepareGet(postResp.getIndex(), postResp.getType(), postResp.getId()).execute(handleOrError(getResp2 -> {
printGR(getResp2);
client().prepareSearch(postResp.getIndex()).execute(handleOrError(searchResponse2 -> {
printSR(searchResponse2);
sem.release();
}));
}));
}));
}));
}));
}));
sem.acquire();
}
Drucke laufen:
1) GetResponse: {"_index":"test","_type":"events","_id":"AVgv1NHPHZ0vJaA-eRhJ","_version":1,"found":true,"_source":{"Key0":"Val0"}}
2) SearchResponse:{"took":2,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"max_score":1.0,"hits":[{"_index":"test","_type":"events","_id":"AVgv1NHPHZ0vJaA-eRhJ","_score":1.0,"_source":{"Key0":"Val0"}}]}}
3) DeleteResponse: DeleteResponse[index=test,type=events,id=AVgv1NHPHZ0vJaA-eRhJ,version=2,result=deleted,shards="_shards"{"total":2,"successful":2,"failed":0}]
4) GetResponse: {"_index":"test","_type":"events","_id":"AVgv1NHPHZ0vJaA-eRhJ","found":false}
5) SearchResponse:{"took":1,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":1,"max_score":1.0,"hits":[{"_index":"test","_type":"events","_id":"AVgv1NHPHZ0vJaA-eRhJ","_score":1.0,"_source":{"Key0":"Val0"}}]}}
Vielen Dank! Durch das Ändern der Aktualisierungsrichtlinie für das Löschen wurde das Problem behoben. – Fabian