Dra*_*ric 11 python sorting elasticsearch
我可以将单个排序参数传递给pyes中的搜索查询,如下所示:
s = MatchAllQuery()
conn.search(query=Search(s), indexes=["test"], sort='_score')
Run Code Online (Sandbox Code Playgroud)
但我需要传递一个额外的参数来对具有相同分数的文档进行排序,如下所示:
{
"sort": [
"_score",
{
"extra_param": {
"order": "asc"
}
}
],
"query": {
"term": {
"match_all": {}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能在pyes中做到这一点?
谢谢
Dra*_*ric 16
如果您希望结果集中具有相同分数的结果按价格排序,请将价格附加到排序字符串:
s = MatchAllQuery()
conn.search(query=Search(s), indexes=["test"], sort='_score,price')
Run Code Online (Sandbox Code Playgroud)
默认情况下,排序顺序为升序.要将排序顺序传递:asc或:desc到sort参数
s = MatchAllQuery()
conn.search(query=Search(s), indexes=["test"], sort='_score,price:desc')
Run Code Online (Sandbox Code Playgroud)