[英]Elasticsearch Scripting with date
我有如下的Elasticsearch文档。
{
"ProductID": 123,
"SellingPrice": 1200.00,
"DiscountAmount":0.00,
"Discount": {
"Type": "percentage",
"Amount": 25,
"StartDate": "2014-08-13T12:05:00",
"EndDate": "2014-12-31T12:10:00"
}
}
每当我检索此文档时,脚本应自动检查“当前系统日期”,如果折扣未过期,则应根据结果中的折扣百分比更改“ DiscountAmount”字段。 请帮我。
您无法更改文档中的实际字段,但可以使用脚本字段将字段添加到结果中。 这样的东西(未经测试)应该可以帮助您入门。
"script_fields" : {
"actual_cost" : {
"script" : "if (doc['Discount.EndDate'].value > System.currentTimeMillis()) {return doc['SellingPrice'].value * doc['Discount.Amount]/100;}; return doc['SellingPrice'].value;"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.