我使用ElasticSearch
作为计算一系列项目值的临时数据库。
POST test/_doc/1/_update
{
"script" : {
"source": "ctx._source.views += params.count; ctx._source.impression = 1F * ctx._source.likes / ctx._source.views; ctx._source.value = ctx._source.impression * params.value",
"lang": "painless",
"params" : {
"count" : 1,
"value" : 600,
}
}
}
这按顺序排列3件事:
views
impression
除以likes
views
impression
乘以600(某个数字)然后我可以通过按值对它们进行排序来获得最高价值的物品。
是否有可以执行此操作的替代数据库?
编辑:它应该能够处理每秒大约2000次更新或更多。 我不在乎它是否会稍微延迟更新值,我只需要它不要错过任何一个请求。