Вы можете сделать это с помощью скриптового запроса, который перебирает поле массива и проверяет желаемое условие. В приведенном выше случае следующим будет queryDsl
GET testample/_search
{
"query": {
"script": {
"script": {
"source": " boolean test = false; for (inc in doc['income']) { if(params.income<=inc) { test=true; } else { test=false; break;} } return test;",
"params": {
"income": 150
}
}
}
}
}
В принципе, вы можете выполнить любой код в разделе скрипта. Вышеупомянутый запрос делает то, что он принимает пользовательский ввод в качестве параметра, а затем проверяет, меньше ли он всех элементов в массиве, и если да, то do c оценивается как true и, следовательно, возвращается как ответ на запрос.