乐趣区

关于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

退出移动版