elasticsearch按字符串字段的长度过滤
我试图获取记录在“标题”中,然后是X个字符。
注意:并非所有记录都包含标题字段。
我努力了:
GET books/_search{
"filter" : {
"script" : {
"script" : "_source.title.length() > 10"
}
}
}
结果,我得到这个错误:
GroovyScriptExecutionException[NullPointerException[Cannot invoke method length() on null object
我该如何解决?
回答:
您需要考虑到某些文档可能具有空title
字段。因此,您可以使用常规的空安全运算符。另外,请确保改用POST方法:
POST books/_search{
"filter" : {
"script" : {
"script" : "_source.title?.size() > 10"
}
}
}
以上是 elasticsearch按字符串字段的长度过滤 的全部内容, 来源链接: utcz.com/qa/434112.html