一款面向程序員的搜索引擎,收錄信息超2900萬頁!
一款專門面向程序員的搜索引擎,2021年9月才開工,卻收錄了超過2900萬頁信息。這樣的「編程神器」,你愿意嘗試嗎?
這兩天,草根開發(fā)者浮士德發(fā)布了一款名為「Feep! search」的搜索引擎。只要在檢索框中輸入你想找的程序名稱,分分鐘便能檢索出成百上千條成熟代碼。
雖然這款「編程神器」還存在著不少問題,卻已經(jīng)令不少苦兮兮的程序猿、程序媛們心馳神往,堪稱今年「1024」最好的禮物。
Feep! search
「Feep! search」是一款程序員專用的網(wǎng)絡(luò)搜索引擎,主要用于編程資源的查找。
雖然名稱采用了與雅虎(Yahoo!)相似的結(jié)構(gòu),但與美國門戶網(wǎng)站的明貶實(shí)褒(Yahoo原意為鄉(xiāng)巴佬)不同,「Feep」特指「終端發(fā)出的柔和電子鈴聲」,尾部的「!」則代表了想要為用戶提供令人難忘的服務(wù)。
目前,「Feep! search」能夠檢索的信息源,包括DevDocs、Hacker News、Kiwix、Stack Exchange等,甚至還包括一些已索引但未爬網(wǎng)的鏈接,信息總量超過2900萬頁——這甚至比谷歌1998年推出的第一款搜索引擎還要多(2600萬頁)。
據(jù)網(wǎng)站作者浮士德介紹,「Feep! search」在檢索時(shí)會查找它所存儲的所有信息,對一些數(shù)據(jù)進(jìn)行少量排序,并填充到搜索網(wǎng)站的結(jié)果頁中。
數(shù)據(jù)混洗位主要用Node.js編寫,許多shell腳本將所有內(nèi)容粘在一起,排名和全文搜索則由ElasticSearch提供支持。這一切都在他家客廳的HP微型服務(wù)器里運(yùn)行。
位于浮士德客廳的「Feep! search」服務(wù)器
以程序員們最經(jīng)典的上手程序「hello word」為例,僅用時(shí)27毫秒,「Feep! search」那簡潔而不簡單的界面便檢索出超1萬條結(jié)果。你可以從中輕松找出許多能夠?qū)嶋H運(yùn)行的成熟代碼。
而且,搜索結(jié)果的信息來源,也是相當(dāng)豐富的。
在浮士德的帖子下,不少網(wǎng)友表示「Feep! search」真乃程序員的福音:
「很棒的作品。(我)在同一主題不同變體的三次搜索中得到了一些好的答案和有用的鏈接?!?/span>
也有部分網(wǎng)友在體驗(yàn)后發(fā)現(xiàn)了問題:
「好主意,但現(xiàn)在的搜索很糟糕。對『django signals』進(jìn)行檢索,第一頁得到了非官方的結(jié)果,第二頁(1)上的所有鏈接都斷了。搜索『go cobra』則根本沒有官方文檔?!惯€在最后提出了一些改進(jìn)建議。
美中不足
就連作者自己也承認(rèn),因?yàn)樯形丛O(shè)置任何搜索運(yùn)算符或高級搜索語法,導(dǎo)致引擎的搜索結(jié)果相當(dāng)多變,搜索結(jié)果的排名不能很好地獲得展示。
不過,對于一些檢索時(shí)的常見問題,作者也在「Query help」頁面進(jìn)行了備注:
- 單詞被詞干化(例如「walking」、「walk」等都將被轉(zhuǎn)換為「walk-」),并逐個(gè)搜索。目前還沒有任何方法可以關(guān)閉這個(gè)功能,或者搜索完整的短語;?
- 非字母數(shù)字字符將被忽略(這意味著你不能搜索符號運(yùn)算符之類的東西。這對于一個(gè)專門為程序員設(shè)計(jì)的搜索引擎來說非常尷尬。這也是我要著重解決的問題之一);
- 語句的理解非常膚淺:它不尋找同義詞,也不理解同一個(gè)詞在不同的上下文中可能有不同的含義(這與谷歌截然相反,即使你有非常具體的想法,谷歌也會盡力猜測你的其他意思。哪種方法最有用取決于你尋找的方式)。改變查詢的措辭可能會得到一組完全不同的結(jié)果;
- 如果沒有搜索到你要找的內(nèi)容,請嘗試添加或刪除單詞。有時(shí)看似微小的調(diào)整都會產(chǎn)生巨大的差異。您需要的結(jié)果可能就在某個(gè)地方,即使可能很難找到;
- 有時(shí)候,好的結(jié)果有些被埋沒了。建議您多瀏覽幾頁,看看要找的內(nèi)容是不是在后面。
值得一提的是,每頁檢索結(jié)果的末端還提供了Google、DuckDuckGo、Bing和Marginalia四種其他搜索引擎的鏈接,一鍵即可進(jìn)入對應(yīng)詞匯在各大引擎中的檢索結(jié)果。
作者特別向我們推薦了一款獨(dú)立的DIY搜索引擎Marginalia Search。與「Feep! search」類似,這是一款專注于推薦「你可能不知道網(wǎng)站」的搜索引擎。這個(gè)搜索引擎中的軟件都是定制而成,所有的爬網(wǎng)和索引都在內(nèi)部完成的。
小人物的大夢想
「Feep! search」的作者沃爾夫?qū)じ∈康拢╓olfgang Faust)是一名專業(yè)軟件開發(fā)商和業(yè)余愛好者。
通過浮士德的個(gè)人網(wǎng)站我們可以了解到,雖然曾發(fā)表過大大小小上百項(xiàng)程序,但他卻是一名不折不扣的草根開發(fā)者。
正如浮士德個(gè)人網(wǎng)站的Slogan「我做了很多不同的事情」所言,2011年至今,他在GitHub上共更新了111條作品,但賬號目前也只有25個(gè)粉絲。一款名為「yaml-multiline」的開源軟件,總計(jì)獲得過216顆星和16次引用——這已是浮士德開發(fā)生涯的扛鼎之作。
不過,他在兩大論壇Hacker News和Reddit上卻分別收獲了4,004和3,712次「功德」,具有極強(qiáng)的表達(dá)欲望,也可以說非常努力了。
不管怎么講,能制作出一款收錄接近3000萬頁信息的搜索引擎,都是一項(xiàng)十分了不起的成就。
畢竟當(dāng)年Google剛推出時(shí),也同樣問題重重。