Elasticsearch中的模运算符

时间:2015-07-01 08:06:14

标签: elasticsearch

我们如何编写在Elasticsearch中使用模运算符的基本条件?

喜欢

user.created modulo 2 = 0

2 个答案:

答案 0 :(得分:1)

我假设您想在Elasticsearch的脚本中执行此操作。如果是这样,它将与Groovy模运算符相同:

{
  "query": {
    "filtered": {
      "filter": {
        "script": {
          "script": "doc['user.created'].value % 2 == 0",
          "lang": "groovy"
        }
      }
    }
  }
}

答案 1 :(得分:1)

不幸的是,来自Andrei Stefan的具有Groovy语法的示例不适用于我的实例。

以下是您可以用作过滤器的正式“表达式”语法,它可能会更广泛地起作用:

{
  "script": {
    "script": {
      "source": "(doc['transactionAmount'].value % 2) == value",
      "lang": "expression",
      "params": {
        "value": 0
      }
    }
  }
}