Bas*_*ace 5 python elasticsearch-dsl elasticsearch-py
我正在尝试查找我的索引/文档类型中的最后 30 条条目
我什么也没尝试,我已经没有想法了!
我当前的方法是找到过去 5 分钟内的所有结果,然后过滤结果并抓取最后 30 个条目,但这比正确的方法慢。
s = Search(using=es, index="history", doc_type=p)
.filter('range', timestamp={'gte': mins})
.extra(size=1000)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过
s = Search(using=es, index="history", doc_type=p)
.sort("timestamp", {'order': "desc"})
.extra(size=30)
Run Code Online (Sandbox Code Playgroud)
检查doctype中是否启用了时间戳。如果启用,则只有我们可以在 elasticsearch dsl 中使用时间戳。
#Add Query
s = Search(using=es, index="history", doc_type=p).query("query_string", query="*").sort("timestamp", {'order': "desc"})
#To specify the from/size parameters i.e for first 30 entries
s=s[0:30]
#Call elasticsearch
s.execute()
Run Code Online (Sandbox Code Playgroud)