繁体   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