繁体   English   中英

带日期的Elasticsearch脚本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM