Elasticsearch基于事件的衰减分数

tst*_*rzl 6 sorting lucene scoring ranking elasticsearch

我正在尝试找到一种方法来防止多个帖子出现在来自同一作者的搜索结果中.到目前为止,我已经尝试过随机评分,这让我可以保持分页.但是,在10个结果的给定页面中,我仍然可以拥有多达4个相同的作者.

有没有办法根据结果集中某个字段出现的次数对文档进行评分?据我所知,你不能在评分脚本中保留变量或对象.

我已经研究了几种实现这一目标的方法,但其中很多都有不少缺点.例如删除重复项,然后再次调用以检索已排除当前作者的新结果集.然而,这也可以返回多个相同的作者.因此,我将逐个查询以替换结果集中的重复作者,这会破坏深层分页,因为最终用于替换重复项的其他结果集会在标准搜索之前耗尽页面.我也尝试过聚合,这是不可寻页的.

是否有任何功能可以根据同一作者(或字段)的文档出现次数来分散或减去文档的分数?

tst*_*rzl 0

你不能使elasticsearch排序多样化。您只能random_seed对文件进行评分并希望得到最好的结果。您可以使用热门点击聚合器之类的工具来聚合每个作者的存储桶,但无法对一组存储桶进行分页。因此打破了分页。

浏览此处获取更多信息