一个面向程序员的搜索引擎,2021年9月开工建设,至今已收集了超过2900万页的信息。这样的“编程神器”你愿意尝试吗?这两天,草根开发者浮士德发布了一款名为“Feep!search”的搜索引擎。只要在搜索框中输入要查找的程序名称,分分钟就能检索到上百个成熟代码。虽然这款“编程神器”还存在不少问题,但它已经让不少苦逼的程序员和程序员为之着迷,堪称今年“1024”最好的礼物。费!搜索“Feep!search”是一个专门为程序员准备的网络搜索引擎,主要用于搜索编程资源。虽然名称采用了类似Yahoo!的结构,但与美国门户网站的名校实报(Yahoo原意是乡巴佬)不同,Feep特指“终端发出的轻柔电子铃声”,并且尾随“!”代表着为用户提供难忘服务的愿望。目前,“Feep!search”可以检索到信息源,包括DevDocs、HackerNews、Kiwix、StackExchange等,甚至还有一些已经被索引但未被爬取的链接,总信息量超过2900万页——这甚至比1998年推出的谷歌第一个搜索引擎拥有的网页还要多(2600万页)。据该网站的作者Faust介绍,“Feep!search”在搜索时会找出它存储的所有信息,对一些数据进行少量排序,填入搜索网站的结果页面。数据改组位主要用Node.js编写,许多shell脚本将所有内容粘合在一起,排名和全文搜索由ElasticSearch提供支持。这一切都在他客厅的惠普微型服务器上运行。位于浮士德客厅的“Feep!search”服务器以程序员最经典的程序“helloword”为例。仅用了27毫秒,“Feep!search”简洁而不简单的界面检索了超过100万条结果。你可以很容易地找到很多可以实际运行的成熟代码。而且,搜索结果的信息来源也相当丰富。在Faust的帖子下,很多网友表示“Feep!search”真是程序员的福音:“干得好。(我)在同一主题的不同变体的三个搜索中得到了一些很好的答案和有用的链接。”也有网友在体验后发现了问题:“想法不错,但现在的搜索太烂了。搜索“djangosignals”在第一页上产生了非官方结果,而第二页(1)上的所有链接都已损坏。搜索“gocobra”,完全没有官方文档。”最后我也提出了一些改进的建议。美中不足连作者自己也承认,因为没有设置搜索运算符或高级搜索语法,所以引擎的搜索结果参差不齐,搜索排名结果不能很好的展示出来,但是对于一些在检索中常见的问题,作者也在“查询帮助”页面做了说明:词干化了(比如“walking”,“walk”等会被转化为“walk-"),和一个一个的搜索。目前没有任何方法可以关闭它,或者搜索完整的短语;非字母数字字符将被忽略(这意味着你不能搜索符号运算符之类的东西。不是这样的,专门为程序员设计的搜索引擎用起来很尴尬,这是我要重点解决的问题之一);句子理解很肤浅:不找同义词,也不找同义词明白同一个词在不同的地方可能有不同的意思rentcontexts(这与Google完全相反,即使您有非常具体的想法,Google也会尽力猜测您的其他意思。哪种方法最有用取决于您的看法)。更改查询的措辞可能会产生完全不同的结果集;如果您没有得到您要查找的内容,请尝试添加或删除单词。有时看似很小的调整可以产生巨大的不同。您需要的结果可能就在某处,即使很难找到;有时好的东西会被埋没。建议您多浏览几页,看看您要找的内容是否在后面。值得一提的是,每页搜索结果的末尾都提供了Google、DuckDuckGo、Bing和Marginalia这四个其他搜索引擎的链接。一键进入各大引擎对应词的搜索结果。笔者特别推荐一款独立的DIY搜索引擎MarginaliaSearch。类似于“Feep!search”,这是一个专注于推荐“你可能不知道的网站”的搜索引擎。这个搜索引擎中的软件是定制的,所有的抓取和索引都是在内部完成的。LittlePeople'sBigDreams“Feep!search”由专业软件开发人员和业余爱好者WolfgangFaust编写。从Faust的个人网站我们可以知道,他虽然发布了上百个程序,但却是一个不折不扣的草根开发者。正如浮士德个人网站的Slogan“我做了很多不同的事情”所说,自2011年以来,他在GitHub上一共更新了111篇作品,但该账号目前只有25个粉丝。一款名为“yaml-multiline”的开源软件一共获得了216颗星和16次引用——这已经是Faust开发生涯的巅峰之作。不过,他在HackerNews和Reddit两大论坛上分别收获了4004和3712个“功勋”。他有着强烈的表现欲,可以说是非常努力了。无论如何,能够制作出包含近3000万页信息的搜索引擎是一项了不起的成就。毕竟谷歌刚推出的时候,也是问题百出。
