注册 登录
  • 动态
  • 推荐
  • 游戏
  • 分享链接 new
  • 回答问题
  • 发现
  • 野蔷薇
  • 视频

Greed 普通玩家,菜鸡程序员

回答了问题 更新于 2017-07-27 21:38:16

Steam首页右上角搜索框的下拉联想游戏算法是怎样的?

看到这个问题我特意用客户端试了一下

初步感觉是这样的

把游戏名拆分成一个个单词(感觉就是通过“ ”,“-”这些字符拆分的),把除了首位的特殊符号都去掉(如果只单个查特殊符号,只会识别到首位是特殊符号的游戏),把希腊字母或其他乱七八糟语言的数字提取出来(所以用5可以搜到GTAV,用6可以搜到彩虹六号rainbow six)。最后针对每个字母进行检索比对(只与一个词的首字母比对 不会提取子序列)还有这个过程中如果有很多的结果,会优先把你库里的和愿望单里的显示出来,其次是推荐的,热度高的和有优惠的。

下面总结一下

首先对于字母

将游戏的单词名切分成多个单词并将每个单词从首字母开始比对,完全相同就会把这个游戏放到查询结果里

其次是字符

他只会提取游戏名首字母进行比对,并不会把中间出现的字符放到查询结果里

最后是数字

他会吧其他所有语言(试了一下希腊数字,阿拉伯数字,英文都可以相互通用)的数字存一起查找

比如我写2 或者 two 或者 II 都可以找到 dota 2


还有在实验的时候发现三个很有意思的事情

1. 只输入单个字符& 会得到一群没有&符号但是有其他符号的游戏

2.所有搜索的结果下拉框都只显示五项,除了c(不确定是不是我的问题?你们可以试试直接搜c,下拉框会出现10个游戏)

3.dota 2 很玄学,我想不明白为什么我输入t可以搜到(并且还是下拉框第一个),但是输入o和a都不行(难道他划分的时候真的是划分成do 和 ta?)

下附三种情况截图:

ede0c647401494d027fdf08806236a8a.png


5729ee70febcf43437bbc0ff22d88a94.png


1bee90b0bea3ceffa3df30cf0efab74e.png

著作权归作者所有。商业转载请联系作者获得授权,非商业转载务必附上原作者名称,注明来自「奶牛关」并给出原文链接。不得以任何形式演绎或修改。

{{answer_voters_count}}人赞同

...

{{question_follower_count}} 个玩家关注

...

目录

    评论 1

    fenx 1年前

    奇妙的分词

    发布

    登录奶牛关账号即可参与讨论
    登录 / 注册

    Greed 的更多回答

    查看所有回答

    该问题的其他回答