我尝试使用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"}
答案 0 :(得分:3)
data_input = {"time":"asc", "another_field":"desc"}
args = [{k:{'order':v}} for k,v in data_input.items()]
s.sort(*args)
我想你问的是什么?很难说......