做过搜索引擎的/带过团队招过人的程序猿们给我些建议吧

2015-05-29 10:59:38 +08:00
 miaozaiye

我们打算在产品(程序员客栈|汇聚最优秀华人程序员)里面增加搜索功能,目前正在讨论阶段。

以下为从产品角度出发的初步设想,求各位程序大拿板砖和意见!


搜索展现的结果,关键因子无外乎:

1)正确性:回答了用户搜索背后的疑问
2)速度:遍历更少的数据,更快的算法。

想起之前看到的一道搜索面试题,某部电影上映前,中,后的搜索结果应该有什么差别。
这些差别都应该从用户搜索的动机来探讨。

回到客栈,如果客栈要做搜索,那么搜索的动机是什么?

找人。

为什么不在百度搜索,不在其他网站搜索,要来客栈搜索?

因为客栈能提供真实可靠的有类似经验的人:这里的内容来自作品和简介。

筛选无法完成,只能通过搜索来做的事情:

1)快速进入细分类:比如说几个筛选条件同时搜索;直接搜索子分类
2)分类标签无法实现的事情:主观内容,个人简介部分

而我们所有可被搜索的内容:

用户ID,城市,状态,方向,具体语言,个人一句话简介,个人介绍,作品(名称,介绍),Github ID,知乎 ID, stackovfer flow ID.

所以搜索顺序:

ID
系统标签
一句话简介,个人简介,作品名称,作品介绍

结果排序顺序:

ID
1. 系统标签
一句话简介,个人简介,作品名称,作品介绍
关键字出现次数多

  1. 赞+联系次数多 近期活跃度

关键用户场景:

无明确搜索ID:

  1. 不懂技术的创始人/项目负责人,需要找能够完成自己产品/项目的人

    • 具有类似作品
    • 有类似从业经历(比如开发过apple watch, google glass,用django,这些信息一般从个人简介/一句话简介/作品介绍中获取)
    • 作品+履历点赞数,联系次数
  2. 猎头/HR->要找到明确岗位需求的人

    • 方向,语言
    • 个人简介
  3. 懂技术的负责人->要找到明确岗位需求,语言需求的人。

    • 方向,语言
    • 个人简介
    • 作品

有明确搜索对象:直接输入ID


最后硬广一下,欢迎大家来程序员客栈注册,我们努力成为优秀程序员的最佳经纪人^_^.

http://proginn.com

3876 次点击
所在节点    程序员
17 条回复
yyw
2015-05-29 11:10:20 +08:00
太软了
miaozaiye
2015-05-29 11:10:46 +08:00
@yyw 明显很硬。
shoumu
2015-05-29 11:14:25 +08:00
就是用你的那几个建索引就可以了啊,用一下elastic search就可以了吧
miaozaiye
2015-05-29 11:24:57 +08:00
@shoumu 收到,谢谢!
taine
2015-05-29 12:03:35 +08:00
建议楼主先搞清楚“用户”是谁,再从“产品角度”来谈。
miaozaiye
2015-05-29 12:20:01 +08:00
@taine 嗯,所以我来求大家给一些技术实现上的建议。搜索这个工具,在描绘用户场景的时候写的很清楚了啊。
Xrong
2015-05-29 12:47:19 +08:00
又来?已经被恶心到了...
Yuansir
2015-05-29 12:49:15 +08:00
已经被恶心到了...
kenneth
2015-05-29 12:51:08 +08:00
和gurudigger.com很像,最好线下多好好活动。
taine
2015-05-29 12:57:11 +08:00
@miaozaiye 恕我直言,你所列的用户场景有缺陷,因为“用户”还没有具体化出来。“猎头”不是“用户”,只是对一类人的称呼。从产品的角度而言,某个产品的用户应该是具体的、有可以描述出来的特征等。比如,来使用网站的某个猎头,是熟悉技术、刚刚接触技术行业,还是对技术有一些了解。这三种人对网站的要求显然会不一样。如果能明确你的网站主要是为了满足哪种,会有助于确定网站定位,即产品定位。

另外一方面,“猎头”和“懂技术的负责人”对网站的要求也不一样,即使现在所列出的“方向,语言”和
“个人简介”是符合两者的需要,但两者对“方向,语言”和“个人简介”的理解也有差异,或者说维度不同、对信息的颗粒度要求不一样。

比如,我曾经有一位猎头朋友,他很关心他找的程序员做过哪些具体项目,因为我这位朋友不太了解技术,对于他而言,他只能通过对比“做过的项目”和“现在要做的项目”之间的共同点和差异点,来判断某位程序员是否符合要求。

还有一点,从产品角度来谈的时候,首先谈的是用户的完整实际操作和使用过程,技术是满足、符合这种过程。你所提到的搜索因子, 实际是从这只能够过程中提炼出来。可以多找几位不同的(你所认为的)目标用户,来了解他们的招人过程,或许会有帮助。
ymdqqqq
2015-05-29 13:08:08 +08:00
建议:
先去搭一套ES或者SOLR,看看里面的API。

排序需求可以用ES的score query,或者自己在外面写(推荐)。
Elethom
2015-05-29 13:14:33 +08:00
我只想問怎麼刪除 account。
miaozaiye
2015-05-29 14:21:55 +08:00
@ymdqqqq 谢谢。
CrowQu
2015-05-29 17:19:01 +08:00
1、lucence或者solr、sphinx之类的看哪个适合你们(其实无所谓啦)。
2、分词策略是这个问题的关键。
3、针对技术社区、猎头其实有很多关键词、行话、黑话,把这些加入到词典中很重要。
Actrace
2015-05-29 19:49:32 +08:00
sphinx-for-chinese
Andy00
2015-05-31 11:50:29 +08:00
我用lucene做过一个全文的搜索引擎,和普通概念中的数据库搜索还是有很大不同的,个人觉得lz可以尝试对每个人建立一个文件存放个人信息,然后个人信息分词后用lucene建立索引,就是不知道性能怎么样能不能达到lz的要求
dododada
2015-06-06 17:04:14 +08:00
id类放到搜索引擎,doc内容存到nosql。
速度基本没问题。
精度这个,招个有经验且精通搜索的人,就OK了。
顺便说一句,细粒度的精度匹配,很难。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/194610

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX