簡體   English   中英

elasticsearch按字符串字段的長度過濾

[英]elasticsearch filter by length of a string field

我試圖獲得“標題”中的記錄多於X個字符。

注意:並非所有記錄都包含標題字段。

我試過了:

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

結果,我得到這個錯誤:

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

我怎么解決呢?

您需要考慮到某些文檔可能具有空title字段。 所以你可以使用groovy null-safe運算符。 還要確保使用POST方法:

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

您還可以使用自定義標記生成器來計算字符數。 請查看此答案以獲取可能的幫助: https//stackoverflow.com/a/47556098/463846

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM