开发者社区> 问答> 正文

OpenSearch行业算法版distinct说明

已解决

OpenSearch行业算法版distinct说明

展开
收起
提个问题 2024-05-30 13:07:26 34 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    语法
    • distinct=dist_key:field,dist_count:1,dist_times:1,reserved:false
    • 表示抽取1轮,且一轮抽取1条文档。(即去重)

    常见示例
    • 普通用法:distinct=dist_key:company_id,dist_count:2,dist_times:10
    • 要求返回结果数为丢弃后的:distinct=dist_key:company_id,dist_count:1,dist_times:1,reserved:false&&kvpairs=duniqfield:company_id

    注意
    • 在distinct子句使用的字段都需要配置为属性字段。
    • 不支持array类型,只支持int和literal字段类型。
    • 不支持指定多个 dist_key。
    • 当reserved为false时,设置update_total_hit为true,则最终total_hit会减去被distinct丢弃的的数目(不一定准确)。若要使total准确,将update_total_hit设置为false(或不设置默认false)并设置kvpairs插件具体查看文档
    • 出于性能考虑,目前该distinct uniq插件最大支持total值为5000,即使真实搜索结果数超过5000,也会返回5000。
    • distinct子句中filter,与filter子句不同,dist_filter过滤的数据只是不参与distinct,后面的排序中,这些被过滤的doc将和被distinct出来的第一组doc一起参与排序。
      具体报错信息请查看错误码文档
    2024-05-30 13:07:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
【云栖精选7月刊】抛开晦涩的算法、模型,让我们来谈谈互联网架构 立即下载
聚星台—客户运营核心大数据 与算法技术 立即下载
《开放搜索在智能化行业搜索和业务增长领域的应用实践》 立即下载