1

我想创建一个术语方面,它仅返回长度大于某个值的术语的结果。理想情况下,它看起来像:

 "facets": {
    "myFacet": {
      "terms": {
        "field": "content",
        "size": 10,
        "script": "term.length > 3 ? true: false"
      }
    }
  }

但是,MVEL 脚本语言似乎不喜欢这个术语。长度属性。还有另一种方法可以实现这一目标吗?MVEL 文档没有提供有关此用例的太多信息。

4

1 回答 1

3

根据 elasticsearch ( Error: could not access: length; in class: java.lang.String) mvel 委托lengthjava.lang.String类的错误,因此您应该使用java.lang.String#length()方法。

"facets": {
  "myFacet": {
    "terms": {
      "field": "content",
      "size": 10,
      "script": "term.length() > 3 ? true: false"
    }
  }
}
于 2013-11-08T13:54:31.977 回答