关于filter:Elasticsearch-根据数组长度过滤数据qbit

前言

  • 本文对 Elasticsearch 7.x 实用

示例

GET zt_product_doc_alias/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "query_string": {
            "query": "keyword_clean_arr:(大数据)"
          }
        },
        {
          "script": {
            "script": {
              "lang": "painless",
              "source": """
                (doc['keyword_clean_arr'].length == 2) 
              """
            }
          }
        }
      ]
    }
  },
  "_source": [
    "keyword_clean_arr"
  ]
}

对于与或非的优先级

  • 官网文档明确阐明 ES 表达式的逻辑运算符和一般的了解不一样,有多个逻辑运算符时应该加上括号来确保正确性。

相干文献

  • Elasticsearch Script query 官网文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/…
  • stackoverflow elasticsearch filtering by the size of a field that is an array

本文出自 qbit snap

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理