簡體   English   中英

在不使用腳本 elasticsearch 的情況下比較同一文檔中的兩個字段

[英]Compare two fields in same document without using script elasticsearch

我們使用的是彈性版本 7.10.2。 我想比較同一文檔中的兩個字段。我的組織中禁用了腳本。 請幫助在不使用腳本的情況下構建以下查詢。 這里我的查詢是:昵稱是 null 或昵稱為空或昵稱等於名字。

困難的部分是如何構建查詢以獲取昵稱等於名字的記錄

要轉換為普通查詢的相關腳本查詢:

{
  "query": {
    "bool": {
      "must": [{
        "script": {
          "script": {
            "inline": "doc['nickname.keyword'].value==null || doc['nickname.keyword'].value =='' || doc['nickname.keyword'].value == doc['firstname.keyword'].value",
            "lang": "painless",
            
          }
        } 
      }]
    }
  }
}

我看到您已經在將nickname.keyword .關鍵字與您的firstname進行比較也提到這是困難的部分,為此您需要一個腳本,您可以簡單地在此關鍵字字段上使用搜索查詢並獲得您想要的結果。

您可以使用以下術語查詢

{
  "query": {
    "term": {
      "nickname.keyword": {
        "value": "your-nickname", // provide your nickname as value
      }
    }
  }
}

暫無
暫無

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

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