技术交流:搜索结果排序优化

楼主目前在实习,做关键词搜索优化这一块,碰到一个问题,是关于分词搜索结果优化的。
比如说有一本书《校花的贴身高手》,分词结果为 校花|的|贴身|高手
然后对分词做倒排索引搜索得到以下结果:
校花(set1):book1,book2,book3,......
的(set2):book1,book2,book4,book5,......
贴身(set3):book2,book3,book4,book6,......
高手(set4):book21,book3,book5,book6,......

然后对set1 set2 set3 set4做交集,那么交集中必然含有 校花的分身高手 这几个字,也可以有 校花的贴身高手xx 这种结果

然后现在的问题是,我搜索《校花的贴身高手之xx》,假定搜索库里面没有这本书,然后分词,对分词搜索结果做交集,交集为空的时候接下来我要怎么回退放宽限制,使得《校花的贴身高手》可以出来,要是再退一步这里只有《贴身高手》这本书,或者只有《校花的贴身高手之YY》,我怎么把这些书显示出来并且做恰当排序

我查过一些搜索引擎的策略,基本上都只是说到做交集就完事了,基本没有涉及到如果交集为空怎么回退。还有搜索引擎里面每一个词都有上亿条索引,做交集然后排序我觉得基本也不现实,耗时太长了。

牛油们有没有可行方案,或者有什么技术文章链接也可以甩一个给我,感激不尽哈哈(ಡωಡ)hiahiahia

还有我发现牛客的搜索策略似乎也不是很好,看起来是基于精准匹配的,但是部分匹配和广泛匹配似乎没做好的样子

全部评论
1.可以考虑下每个词的重要性,比如分成了A,B,C,D,E这5个词,比如A在很多book中出现了,说明这个词不是很重要,比如“的”,“地”这些词(可以参考下TF-IDF算法),不过这些词可以利用分词工具,词性判断过滤掉; 2.可以考虑下词之间的聚合度,比如A和B经常在同一篇文章中出现,可以将AB做聚合索引,将AB放入自定义词库,分词时就不会被分为A/B 3.至于回退,可以按顺序来交集,A,B,C,D,E按重要性排序后(A1,B1,C1,D1,E1),根据重要性回退,如果A1,B1,C1,D1,E1交集为空,取A1,B1,C1,D1,再为空取A1,B1,C1,E1 4.至于交集,我觉得肯定是要做的,排序的话我觉得没有必要,可以只显示一部分,或者是top100(搜索热度,相关性)。
点赞 回复 分享
发布于 2019-05-30 11:37
给多点大佬出来提点意见呗
点赞 回复 分享
发布于 2019-05-18 15:23
我是产品哈....回退的规则可以根据分词搜索结果数量来排序,取消搜索结果最少的那个词(核心就是根据规则放大交集,规则也可以是关键词本身的权重?)或者根据整体用户的搜索情况,有历史搜索情况的,比如这个词条有很多人搜过。(后一种可能不是在交集问题里的哈),如果是完全第一次搜索,可能可以试试让用户用搜索语法?比方说根据用户输入的词顺序,或者从语言的角度来看看哪个词更重要些。没涉及过搜索的策略,觉得挺有意思,胡答一通。打的不对轻喷哈。。。。
点赞 回复 分享
发布于 2019-05-18 11:54
这是转做算法了?
点赞 回复 分享
发布于 2019-05-18 11:45
m
点赞 回复 分享
发布于 2019-05-18 11:36
看过校花的贴身高手,至于搜索,溜了溜了
点赞 回复 分享
发布于 2019-05-18 11:22
此处@一下大佬@向宇同桌
点赞 回复 分享
发布于 2019-05-18 11:20
除了看过这本书,没其他可以帮到你了😂
点赞 回复 分享
发布于 2019-05-18 11:02
说不好面试就会碰到这种面试场景题呢
点赞 回复 分享
发布于 2019-05-18 10:58
有没有搞搜索的大佬给指一个方向,跪求大佬
点赞 回复 分享
发布于 2019-05-18 10:58

相关推荐

不愿透露姓名的神秘牛友
07-10 11:27
明天又是董事长面,啥时候是个头啊
在太阳里长大的人:公司就仨人吧😂
点赞 评论 收藏
分享
机械打工仔:有说的你怀疑一下就行了,直接问也太实诚了
点赞 评论 收藏
分享
星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
评论
点赞
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务