当前位置:  开发笔记 > 编程语言 > 正文

elasticsearch按字符串字段的长度过滤

如何解决《elasticsearch按字符串字段的长度过滤》经验,为你挑选了1个好方法。

我试图获得"标题"中的记录多于X个字符.

注意:并非所有记录都包含标题字段.

我试过了:

GET books/_search
{
    "filter" : {
          "script" : {
              "script" : "_source.title.length() > 10"
          }
      }
}

结果,我得到这个错误:

GroovyScriptExecutionException[NullPointerException[Cannot invoke method length() on null object

我怎么解决呢?



1> Val..:

您需要考虑到某些文档可能包含空title字段.所以你可以使用groovy null-safe运算符.还要确保使用POST方法:

POST books/_search
{
    "filter" : {
          "script" : {
              "script" : "_source.title?.size() > 10"
          }
      }
}

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有