Ich versuche, ein Dokument aus buzz
Index in ElasticSearch zu löschen. Direkt nach dem Löschen lese ich eine Liste der vorhandenen Einträge und das gelöschte Element ist immer noch in der Liste.Elasticsearch Cache
async.series([
function(callback) {
self._db.DELETE('buzz/news/' + self._id, {}, {}, function(err, response) {
return callback(err);
});
},
Anfordern Eintrag von id Staaten found:false
function(callback) {
self._db.GET('buzz/news/' + self._id, {
v: Date.now()
}, {}, function(err, result) {
console.log('result: ', JSON.stringify(result));
callback(err);
});
},
Durchführen einer Suche nach Kriterien gibt noch diesen Eintrag in der Liste.
function(callback) {
self._db.GET('buzz/news/_search', {
v: Date.now()
}, qq, function(err, result) {
console.log('result: ', JSON.stringify(result.hits.hits.map(function(hit) {
return hit._id;
})));
callback(err);
});
},], function(err){...});
Der gesamte Code ist in einem async.series
. Hier ist die Kriterien:
var qq = {
"query": {
"filtered": {
"query": {
"query_string": {
"fields": ["title"],
"query": "*"
}
},
"filter": {
"bool": {
"must": [],
"_cache": false
}
}
}
},
"sort": [{
"pubDate": "desc"
}],
"from": "0",
"size": "30"
}
db.GET
und db.DELETE
sind nur wrappera auf einfache HTTP-Anforderung.
'Manual' Kibana oder Postman reuquests, um Einträge Liste nach dem Löschen sind in Ordnung. Artikel ist nicht in der Liste. So funktioniert alles korrekt, außer vielleicht, etwas Caching-Problem.