我可以像这样将单个排序参数传递给pyes中的搜索查询:
s = MatchAllQuery()
conn.search(query=Search(s), indexes=["test"], sort='_score')
但是我需要传递一个额外的参数来对具有相同分数的文档进行排序,如下所示:
{
"sort": [
"_score",
{
"extra_param": {
"order": "asc"
}
}
],
"query": {
"term": {
"match_all": {}
}
}
}
我如何在 pyes 中执行此操作?
谢谢
最佳答案
如果您希望结果集中具有相同分数的结果按价格排序,请将价格附加到排序字符串:
s = MatchAllQuery()
conn.search(query=Search(s), indexes=["test"], sort='_score,price')
默认排序顺序是升序。要传递排序顺序,请将 :asc 或 :desc 附加到排序参数
s = MatchAllQuery()
conn.search(query=Search(s), indexes=["test"], sort='_score,price:desc')
关于python - 按pyes和elasticsearch中的多个参数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9084536/