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

回到顶部