這應該很容易。如何遍歷ElasticSearch索引中的每個對象?
我插入了一些記錄到ElasticSearch並已精練的文檔,但我似乎無法找到一種方法來簡單地採取指數和遍歷它的Node.js
我不對Elastic有很多經驗,所以一直很沮喪。
該列表中的某些項目需要在10分鐘內或多或少地進行修剪,否則數據庫只會增長並增長。我想要一個單獨的任務來做到這一點。
這應該很容易。如何遍歷ElasticSearch索引中的每個對象?
我插入了一些記錄到ElasticSearch並已精練的文檔,但我似乎無法找到一種方法來簡單地採取指數和遍歷它的Node.js
我不對Elastic有很多經驗,所以一直很沮喪。
該列表中的某些項目需要在10分鐘內或多或少地進行修剪,否則數據庫只會增長並增長。我想要一個單獨的任務來做到這一點。
您可以在您的通話delete by query使用range
query實現你想要的:
POST your_index/_delete_by_query
{
"query": {
"range" : {
"date_field" : {
"lt" : "2017-05-08T00:00:00.000Z"
}
}
}
}
很棒的回答。愚蠢的問題:如何將數字UTC時間戳變成「YYYY-MM-DDT00:00:00.000Z」格式? –
您也可以使用數字時間戳而不是格式化日期。 – Val
如果你知道哪些項目需要修剪,你並不需要通過整個索引進行迭代,你可以簡單地使用[按查詢API刪除](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html) – Val
@Val如何通過日期比較來做到這一點?任何日期早於'new Date()'的日期都應該被刪除。看起來這只是API示例中的一個直接匹配 - 有更多嗎? –