云搜索服务 CSS-使用向量索引搜索数据:复合查询

时间:2024-08-28 10:38:41

复合查询

向量检索支持与其他ES子查询组合进行复合查询,比如布尔查询、后置过滤等。

以下两个示例的查询结果:首先查询top10条与查询向量距离最近的结果,filter作为过滤条件将仅保留my_label字段为“red”的结果。

  • 布尔查询示例
    POST my_index/_search
    {
      "size": 10,
      "query": {
        "bool": {
          "must": {
            "vector": {
              "my_vector": {
                "vector": [1, 2],
                "topk": 10
              }
            }
          },
          "filter": {
            "term": { "my_label": "red" }
          }
        }
      }
    }
  • 后置过滤示例
    GET my_index/_search
    {
      "size": 10,
      "query": {
        "vector": {
          "my_vector": {
            "vector": [1, 2],
            "topk": 10
          }
        }
      },
      "post_filter": {
        "term": { "my_label": "red" }
      }
    }
support.huaweicloud.com/usermanual-css/css_01_0123.html