Я пытаюсь удалить документ из индекса buzz
в ElasticSearch. После удаления я получаю список существующих записей, а удаленный элемент все еще находится в списке.Elasticsearch cache
async.series([
function(callback) {
self._db.DELETE('buzz/news/' + self._id, {}, {}, function(err, response) {
return callback(err);
});
},
запрашивающей запись по идентификатору состояний 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);
});
},
исполнительских поиск по критериям еще возвращает этот элемент в списке.
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){...});
Весь код внутри одного async.series
. Вот критерии:
var qq = {
"query": {
"filtered": {
"query": {
"query_string": {
"fields": ["title"],
"query": "*"
}
},
"filter": {
"bool": {
"must": [],
"_cache": false
}
}
}
},
"sort": [{
"pubDate": "desc"
}],
"from": "0",
"size": "30"
}
db.GET
и db.DELETE
просто wrappera для простого запроса HTTP.
«Руководство пользователя» Кибана или почтальон reuquests, чтобы получить список записей после удаления, в порядке. Элемент отсутствует в списке. Итак, все работает правильно, за исключением, может быть, проблемы с кешированием.