Python elasticsearch-dsl使用多个字段排序

时间:2017-09-27 23:42:22

标签: python elasticsearch-dsl

我尝试使用elasticsearch-dsl构建排序命令。但是我无法以正确的格式传递变量。

格式应为

s=Search()
s = s.sort({"time":{"order":"asc"}}, {"anoter_field":{"order":"desc"}})
s.execute()

问题是我试图将{"time":{"order":"asc"}}, {"anoter_field":{"order":"desc"}}作为变量,但我似乎无法用正确的语法来解决这个问题。我尝试使用dict,list和string,但似乎都没有。

我的输入将是一个看起来像

的字典
input = {"time":"asc", "another_field":"desc"}

1 个答案:

答案 0 :(得分:3)

data_input = {"time":"asc", "another_field":"desc"}
args = [{k:{'order':v}} for k,v in data_input.items()]
s.sort(*args)

我想你问的是什么?很难说......