我想创建一个术语方面,它仅返回长度大于某个值的术语的结果。理想情况下,它看起来像:
"facets": {
"myFacet": {
"terms": {
"field": "content",
"size": 10,
"script": "term.length > 3 ? true: false"
}
}
}
但是,MVEL 脚本语言似乎不喜欢这个术语。 长度 属性(property)。还有另一种方法可以实现这一目标吗? MVEL 文档没有提供有关此用例的太多信息。
最佳答案
根据来自 elasticsearch (Error: could not access: length; in class: java.lang.String
) 的错误,mvel 代表 length
至java.lang.String
类,所以你应该使用 java.lang.String#length()方法。
"facets": {
"myFacet": {
"terms": {
"field": "content",
"size": 10,
"script": "term.length() > 3 ? true: false"
}
}
}
关于elasticsearch - 在 Elasticsearch 查询中使用脚本时,根据它们的长度过滤构面术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19860048/