我们做搜索,最简单的是通过关联度排序。算个 b25m, 加一下时间权重什么的,然后标记出来。但是有些搜索结果可以特别优化一下。
其中有个特别的例子,就是有多个同来源的连载内容
看图如下:
https://s2.ax1x.com/2019/01/15/FziGGD.png
给定 query: 徽州丝绢案纷争
可以搜索到简书中有 4 个非常相关的结果:
明.徽州丝绢案纷争{1,2,3,4}(马伯庸) - 简书
Google 似乎特意把它们按照字典序排序了一下。
通常情况下索引和全文文本也有关,因此即便标题近似,bm25 也不一样的,而且他们四篇的时间序也是是数字大的更加新,那么搜索中应该 4,3,2,1 才更像没有特殊处理过的。所以想请问一下,如果我们实现,有没有什么方法会在遇到特殊情况下达成这样的效果,而又不怎么影响普通的搜索结果和效率呢?
又,不同 query 反复尝试了很多次,有时候会少上一篇,顺序就比较随机,有时候那四篇顺序出现在 2345 条。
1
Xs0ul 2019-01-15 04:52:52 +08:00 1
一个猜想,可能是按点击量调整出来的,一般越靠前的看得人越多,有的人看一半弃坑了
|
2
takato 2019-01-15 05:52:47 +08:00 1
或者仅仅可能是随机给排序结果,只有当有序时的情况被人特别注意了。
|
3
jetyang 2019-01-15 09:26:34 +08:00 1
一个思路:对结果做聚合(比如一次性取出前 1000 个结果,按 term 向量做聚类),在小组结果中做 rerank,也就是按集数排序。
|
4
AlisaDestiny 2019-01-15 09:53:25 +08:00 1
就像楼上说的,可能是对搜索结果中按照相似度分组,然后对相似度较高的组内部做字典排序。
还有,我顺便看了下“明.徽州丝绢案纷争”,故事真是精彩,感谢推荐。 |
5
yuikns OP 感谢各位。
我也不知道是不是巧合,或者什么原因。只是正文中提到的一些迹象让我感觉有特殊的处理。然后不由考虑如何才能在保证性能的同时可以抓住这个 feature 然后加上。 |
6
ybilly 2019-01-15 18:42:48 +08:00
这个排序应该是巧合,搜小说的时候,他就不会给你排章节。
|