С Elasticsearch и безболезненно, есть ли способ реализовать экспоненциальную функцию? Кажется, я ничего не могу найти. У меня есть что-то вроде этого.
bdy = {
"from" : 0,
"size" : 10,
"query": {
"function_score": {
"query": {
"bool": {
"must": must_terms
}
},
"script_score": {
"script": {
"lang": "expression",
"source": "doc['release_year'].value"
}
}
}
}
}
Я хочу добавить более сложную математику в поле источника, например так.
"source": "Math.exponential(1/doc['release_year'].value)"
Это возможно? Или есть другой язык сценариев, с помощью которого вы можете сделать это в рамках эластичного поиска?
ОБНОВЛЕНИЕ
На самом деле похоже, что я могу использовать.
"lang": "expression"
"source": "_score/10 + 1/(1+ exp(-(doc['release_year'].value*a)))"
http://lucene.apache.org/core/6_0_0/expressions/index.html?org/apache/lucene/expressions/js/package-summary.html
Если у кого-то есть другие варианты, это было бы здорово.