一款专门面向程序员的搜索引擎,2021年9月才开工,却收录了超过2900万页信息。这样的「编程神器」,你愿意尝试吗?
这两天,草根开发者浮士德发布了一款名为「Feep! search」的搜索引擎。只要在检索框中输入你想找的程序名称,分分钟便能检索出成百上千条成熟代码。
虽然这款「编程神器」还存在着不少问题,却已经令不少苦兮兮的程序猿、程序媛们心驰神往,堪称今年「1024」最好的礼物。
Feep! search
「Feep! search」是一款程序员专用的网络搜索引擎,主要用于编程资源的查找。
虽然名称采用了与雅虎(Yahoo!)相似的结构,但与美国门户网站的明贬实褒(Yahoo原意为乡巴佬)不同,「Feep」特指「终端发出的柔和电子铃声」,尾部的「!」则代表了想要为用户提供令人难忘的服务。
目前,「Feep! search」能够检索的信息源,包括DevDocs、Hacker News、Kiwix、Stack Exchange等,甚至还包括一些已索引但未爬网的链接,信息总量超过2900万页——这甚至比谷歌1998年推出的第一款搜索引擎还要多(2600万页)。
据网站作者浮士德介绍,「Feep! search」在检索时会查找它所存储的所有信息,对一些数据进行少量排序,并填充到搜索网站的结果页中。
数据混洗位主要用Node.js编写,许多shell脚本将所有内容粘在一起,排名和全文搜索则由ElasticSearch提供支持。这一切都在他家客厅的HP微型服务器里运行。
位于浮士德客厅的「Feep! search」服务器
以程序员们最经典的上手程序「hello word」为例,仅用时27毫秒,「Feep! search」那简洁而不简单的界面便检索出超1万条结果。你可以从中轻松找出许多能够实际运行的成熟代码。
而且,搜索结果的信息来源,也是相当丰富的。
在浮士德的帖子下,不少网友表示「Feep! search」真乃程序员的福音:
「很棒的作品。(我)在同一主题不同变体的三次搜索中得到了一些好的答案和有用的链接。」
也有部分网友在体验后发现了问题:
「好主意,但现在的搜索很糟糕。对『django signals』进行检索,第一页得到了非官方的结果,第二页(1)上的所有链接都断了。搜索『go cobra』则根本没有官方文档。」还在最后提出了一些改进建议。
美中不足
就连作者自己也承认,因为尚未设置任何搜索运算符或高级搜索语法,导致引擎的搜索结果相当多变,搜索结果的排名不能很好地获得展示。
不过,对于一些检索时的常见问题,作者也在「Query help」页面进行了备注:
- 单词被词干化(例如「walking」、「walk」等都将被转换为「walk-」),并逐个搜索。目前还没有任何方法可以关闭这个功能,或者搜索完整的短语;
- 非字母数字字符将被忽略(这意味着你不能搜索符号运算符之类的东西。这对于一个专门为程序员设计的搜索引擎来说非常尴尬。这也是我要着重解决的问题之一);
- 语句的理解非常肤浅:它不寻找同义词,也不理解同一个词在不同的上下文中可能有不同的含义(这与谷歌截然相反,即使你有非常具体的想法,谷歌也会尽力猜测你的其他意思。哪种方法最有用取决于你寻找的方式)。改变查询的措辞可能会得到一组完全不同的结果;
- 如果没有搜索到你要找的内容,请尝试添加或删除单词。有时看似微小的调整都会产生巨大的差异。您需要的结果可能就在某个地方,即使可能很难找到;
- 有时候,好的结果有些被埋没了。建议您多浏览几页,看看要找的内容是不是在后面。
值得一提的是,每页检索结果的末端还提供了Google、DuckDuckGo、Bing和Marginalia四种其他搜索引擎的链接,一键即可进入对应词汇在各大引擎中的检索结果。
作者特别向我们推荐了一款独立的DIY搜索引擎Marginalia Search。与「Feep! search」类似,这是一款专注于推荐「你可能不知道网站」的搜索引擎。这个搜索引擎中的软件都是定制而成,所有的爬网和索引都在内部完成的。
小人物的大梦想
「Feep! search」的作者沃尔夫冈·浮士德(Wolfgang Faust)是一名专业软件开发商和业余爱好者。
通过浮士德的个人网站我们可以了解到,虽然曾发表过大大小小上百项程序,但他却是一名不折不扣的草根开发者。
正如浮士德个人网站的Slogan「我做了很多不同的事情」所言,2011年至今,他在GitHub上共更新了111条作品,但账号目前也只有25个粉丝。一款名为「yaml-multiline」的开源软件,总计获得过216颗星和16次引用——这已是浮士德开发生涯的扛鼎之作。
不过,他在两大论坛Hacker News和Reddit上却分别收获了4,004和3,712次「功德」,具有极强的表达欲望,也可以说非常努力了。
不管怎么讲,能制作出一款收录接近3000万页信息的搜索引擎,都是一项十分了不起的成就。
毕竟当年Google刚推出时,也同样问题重重。