簡體   English   中英

如何在 elasticsearch 中使用腳本進行過濾

[英]how to filter with script in elasticsearch

我需要搜索這樣的東西

POST dev_profiles/profiles/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "query_string": {
            "query": "user:asd"
          },
          "script_fields": {
            "message_age": {
              "script": {
                "source": "return doc.createdAt.value.getHour() == params.h",
                "params": {
                  "h": 9
                }
              }
            }
          }
        }
      ]
    }
  }
}

但無法以正確的方式構建查詢。 有人可以幫忙嗎?

在這種情況下,它會給出錯誤 [query_string] 格式錯誤的查詢,應為 [END_OBJECT] 但找到 elasticsearch 6.8 的 [FIELD_NAME] 版本

您要查找的查詢是這樣的:

{
  "query": {
    "bool": {
      "filter": [
        {
          "match": {
            "user": "asd"
          }
        }
        {
          "script": {
            "script": {
              "source": "return doc.createdAt.value.getHour() == params.h",
              "params": {
                "h": 9
              }
            }
          }
        }
      ]
    }
  }
}

暫無
暫無

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

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