有沒有一種方法可以從ElasticSearch信息中檢索特定索引上次更新的時間? 我的目標是能夠分辨索引中何時最後一次插入/更新/刪除任何文檔。如果這是不可能的,有什麼我可以添加在我的索引修改請求,稍後將提供此信息?Elasticsearch索引上次更新時間
10
A
回答
7
你可以從_timestamp
修改時間要更容易地回報你可以設置Elasticsearch存儲它的時間戳:如果我插入一個文檔,然後查詢上
curl -XPUT "http://localhost:9200/myindex/mytype/_mapping" -d'
{
"mytype": {
"_timestamp": {
"enabled": "true",
"store": "yes"
}
}
}'
我得到它的時間戳:
curl -XGET 'http://localhost:9200/myindex/mytype/_search?pretty' -d '{
> fields : ["_timestamp"],
> "query": {
> "query_string": { "query":"*"}
> }
> }'
{
"took" : 7,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 1.0,
"hits" : [ {
"_index" : "myindex",
"_type" : "mytype",
"_id" : "1",
"_score" : 1.0,
"fields" : {
"_timestamp" : 1417599223918
}
} ]
}
}
更新現有的文件:
curl -XPOST "http://localhost:9200/myindex/mytype/1/_update" -d'
{
"doc" : {
"field1": "data",
"field2": "more data"
},
"doc_as_upsert" : true
}'
重新運行前面的查詢顯示我更新的時間戳:
"fields" : {
"_timestamp" : 1417599620167
}
0
我不知道還有誰正在尋找一個相當的人,但在這裏是用碎片的統計資料>解決方法Elasticsearch 5用戶: 捲曲XGET http://localhost:9200/_stats?level=shards
正如你看到的,你必須每指數一些信息,提交和/或您可能使用,看是否改變指數之(或沒有)flushs。
我希望它能幫助別人。
相關問題
- 1. Elasticsearch更新索引模板
- 2. ElasticSearch索引Unix時間戳
- 3. Elasticsearch何時重新索引?
- 4. ElasticSearch:在每次更新後創建新的倒排索引
- 5. Elasticsearch重新索引
- 6. 將現有ElasticSearch索引重新索引到更新的模板
- 7. 創建新索引時,「_all」索引上的別名未更新
- 8. 在ElasticSearch中重新索引索引以更改分片數量
- 9. elasticsearch查詢最新索引
- 10. 在ElasticSearch上更新logstash索引的字段
- 11. 未索引字段上的elasticsearch更新操作
- 12. 查看Macports上次更新的時間?
- 13. C#編譯上次更新的時間
- 14. 通過更新索引模板更新Elasticsearch映射
- 15. Elasticsearch批量索引 - 僅在存在時更新
- 16. 在更新elasticsearch中的索引時發生RequestError
- 17. 使用NEST在索引上設置elasticsearch時間戳路徑?
- 18. 如何在nodejs中使用elasticsearch更新couchdb時自動更新索引行
- 19. 「Elasticsearch」搜索文件索引刷新
- 20. 更新列上的索引
- 21. 改進ElasticSearch首次索引的方法
- 22. ElasticSearch更新不是即時的,您如何等待ElasticSearch完成更新其索引?
- 23. elasticsearch重新索引錯誤 - 重新索引從遠程
- 24. 如何用Elasticsearch中的新變量更新索引?
- 25. elasticsearch更新API - 腳本不更改索引文件
- 26. 上次刷新時間戳
- 27. Elasticsearch索引
- 28. ElasticSearch索引
- 29. EKEvent上次更新時
- 30. 將當前索引複製到新索引以使用更新後的映射/索引模板(ElasticSearch)
謝謝奧利。我試過這個,確實時間戳與文檔一起更新。但這只是我需要的一半,因爲我想獲取最近更新的文檔的時間戳。有沒有簡單的方法來做到這一點,或者我必須對所有具有排序時間戳的文檔進行查詢並獲得最佳結果?另外,如果從索引中刪除一個文檔,那麼將不會有時間戳來表明某些內容已更改,是否正確? – dchar 2014-12-03 11:28:24
我會做一個聚合,返回max _timestamp。如果您也需要該文檔,則可以運行使用時間戳記的第二個搜索。你在第二點是正確的,如果文件被刪除,你將無法搜索它。 – 2014-12-03 14:25:39
我只需要時間戳。使用最大的聚合它像一個魅力工作。感謝您的幫助! – dchar 2014-12-04 08:52:36