Вы можете добиться такого поведения в своем поисковом запросе, используя оценку функции, идея состоит в том, что каждый другой документ будет иметь оценку 1 (по умолчанию), а с документом 2 вы даете ему более низкую оценку, а затем сортируете по "_score", " Я бы". Вот DSL, попробуйте сконструировать запрос из вашего python API:
{
"_source": ["id"],
"query": {
"function_score": {
"query": {
"bool": {
//add your query here
"must": [
{
"terms": {
"id": [1, 2, 3, 70]
}
}
]
}
},
"functions": [
{
"filter": {
"term": {
"id": 2
}
},
"weight": 0.5
}
]
}
},
"sort": [
"_score",
{
"id": {
"order": "asc"
}
}
]
}
Также, как сказал Ифэн в разделе комментариев, вы можете пересортировать результаты после запроса из ES.