添加distinct排序信息
例如:检索关键词“手机”共获得10个结果,分别为:doc1,doc2,doc3,doc4,doc5,doc6, doc7,doc8,doc9,doc10。其中前三个属于用户A,doc4-doc6属于用户B,剩余四个属于用户C。
如果前端每页仅展示5个商品,则用户C将没有展示的机会。但是如果按照user_id进行抽取,每轮抽
取1个,抽取2次,并保留抽取剩余的结果,则可以获得以下文档排列顺序:doc1、doc4、doc7、
doc2、doc5、doc8、doc3、doc6、doc9、doc10。可以看出,通过distinct排序,各个用户的
商品都得到了展示机会,结果排序更趋于合理。
更多说明请参见
API distinct子句
请求参数
参数名称 | 类型 | 描述 |
key | string | 为用户用于做distinct抽取的字段,该字段要求建立Attribute索引。 |
distCount | int | 为一次抽取的document数量,默认值为1。 |
distTimes | int | 为抽取的次数,默认值为1。 |
reserved | string | 为是否保留抽取之后剩余的结果,true为保留,false则丢弃,丢弃时totalHits的个数会减去被distinct而丢弃的个数,但这个结果不一定准确,默认为true。 |
distFilter | string | 为过滤条件,被过滤的doc不参与distinct,只在后面的 排序中,这些被过滤的doc将和被distinct出来的第一组doc一起参与排序。默认是全部参与distinct。 |
updateTotalHit | string | 当reserved为false时,设置update_total_hit为true,则最终total_hit会减去被distinct丢弃的的数目(不一定准确),为false则不减;默认为false。 |
maxItemCount | int | 设置计算distinct时最多保留的doc数目。 |
grade | number | 指定档位划分阈值。 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。