У меня есть ситуация, использующая ES 6.5, где я могу выполнить bool
или random_score
, но не оба одновременно.Вот один из этих потенциальных запросов:
{
"from": 0,
"size": 50,
"query": {
"function_score": {
"random_score": {
"seed": 10,
"field": "_seq_no"
}
},
"bool": {
"filter": [
{
"terms": {
"primary_category": [
"foobar"
]
}
},
{
"terms": {
"primary_type": [
"barbaz"
]
}
}
]
}
}
}
Если бы мне пришлось удалить либо блок function_score
, либо блок bool
, запрос работает, но в комбинации он не работает:
[function_score] malformed query, expected [END_OBJECT] but found [FIELD_NAME]
Я что-то упустил из примера по адресу: https://www.elastic.co/guide/en/elasticsearch/reference/6.2/query-dsl-function-score-query.html#function-random
Все, что я хочу сделать, это "случайным образом отсортировать" мои результаты предсказуемым образом, который будет работать черезнумерация страниц и т. д. На самом деле я просто пытаюсь отобразить отфильтрованные результаты с высокой дисперсией, так как любой вид стандартной сортировки создаст шаблоны в результате, которого я пытаюсь избежать.
Буду признателен за любую помощь, и я буду продолжать с ней возиться.