美文网首页
ES8.2将带来三大新特性

ES8.2将带来三大新特性

作者: 郭彦超 | 来源:发表于2022-04-25 16:53 被阅读0次

    大家期盼已久的ES8.2将可能在5月初发布,该版本会带来3个突出的新特性

    • Support ANN with filtering
      ES8.0支持的knn_search查询首次实现了大数据场景下的向量近邻搜索,但是美中不足的是不支持配合DLL语法进行数据筛选;不过经过社区同学的努力该问题得到了重视,官方承诺会在后续的版本陆续解决,第一步是在8.2中引入了filter语法
    POST index/_knn_search
    {
     "knn": {
      "field": "image_vector",
      "query_vector": [0.3f, 0.1f, ...],
      "k": 10,
      "num_candidates": 100
     },
     "filter": {
      "term": {
       "file_type": "jpeg"
      }
     }
    }
    

    有了这个支持,那么我们可以将检索结果的TopN商品作为过滤条件,通过向量近邻搜索对商品精细化排序了,如实现经典的双塔模型排序

    • Enhance runtime field
      当业务中忘了定义某些字段,或者早期定义的字段类型或类型格式不符合当下业务场景时,可通过新增运行时字段来修正;如 我们希望对商品检索结果按照所属分类进行聚合,但不幸的是存放商品的字段是一个包含多个品类的text字符串,很显然这个字段是不能进行聚合操作的,我们要做的是在runtime_mappings中定义一个类型为keyword的category字段即可
    POST my-index-000001/_search
    {
      "runtime_mappings": {
        "category": {
          "type": "keyword",
          "script": {
            "source":
            """if (doc['navigator_ids].value.contains('123456'))
            {emit('123456');}
            else if (doc['navigator_ids].value.contains('234567'))
            {emit('234567');}"""
          }
        }
      },
      "query": {
          "navigator_ids": [
            "123456",
            "234567"
          ]
      },
      "_source": false, 
      "size": ,
      "collapse": {
        "field": "category",
        "inner_hits": {
          "size":10,
          "_source": [
            "product_quality_score",
            "title",
            "gid",
            "id",
            "type"
          ]
        }
      },
    }
    
    • Aggregation for sampling documents
      抽样是数据分析中常用的手段,虽然ES提供了强大的数据分析能力,但是在大数据量下进行聚合查询依然会拖慢整个集群,进而影响到线上的正常查询业务;那么通过random_sampler语法可近似查看数据趋势,是一种不错的折中选择
    {
      "aggregations": {
        "sampling": {
          "random_sampler": {
            "probability": 0.1
          },
          "aggs": {
            "price_percentiles": {
              "percentiles": {
                "field": "taxful_total_price"
              }
            }
          }
        }
      }
    }
    

    相关文章

      网友评论

          本文标题:ES8.2将带来三大新特性

          本文链接:https://www.haomeiwen.com/subject/ikofyrtx.html