興趣是第一源動(dòng)力,很多職業(yè)最初的起源來(lái)自于個(gè)人對(duì)某一事物的好奇,由此產(chǎn)生了興趣而一發(fā)不可收拾,產(chǎn)品經(jīng)理也不例外。產(chǎn)品經(jīng)理的從業(yè)者都知道,這個(gè)職業(yè)隊(duì)伍從業(yè)者的經(jīng)理很廣泛,包容度很大,專(zhuān)業(yè)性也很難有統(tǒng)一的標(biāo)準(zhǔn),不同項(xiàng)目,或同一項(xiàng)目不同階段對(duì)產(chǎn)品經(jīng)理的能力要求的側(cè)重點(diǎn)也不一,很多同行應(yīng)該在入行前都問(wèn)過(guò)自己,如何知道自己是不是適合做產(chǎn)品經(jīng)理呢?
在復(fù)盤(pán)我這6年的工作經(jīng)驗(yàn)后,我得出的認(rèn)知卻也異乎尋常的樸素——興趣是入行的最好老師。我所說(shuō)的興趣不僅僅是對(duì)產(chǎn)品經(jīng)理是做什么的,怎么做有興趣,更主要的是具體項(xiàng)目的興趣,作為-1歲的產(chǎn)品經(jīng)理,當(dāng)時(shí)興趣的焦點(diǎn)都關(guān)注在了科技界24小時(shí)的印鈔機(jī)——搜索引擎;
搜索引擎
時(shí)至今日,細(xì)細(xì)回想其當(dāng)時(shí)對(duì)搜索引擎的癡迷,內(nèi)心深處還有難以言喻的共鳴,由于當(dāng)時(shí)專(zhuān)業(yè)所限,對(duì)搜索引擎的接觸雖然很多,但是究其原理,所知甚少,故因?yàn)楹闷?,所以想要了解?/p>
1.1 搜索引擎的調(diào)研
猶記得那年,Alphabet還沒(méi)成立,谷歌還沒(méi)退出中國(guó),日常接觸的最多的搜索引擎還是——Google,國(guó)內(nèi)百度的發(fā)展也在如火如荼的進(jìn)行著,在我的家鄉(xiāng),多數(shù)人對(duì)于“百度一下,你就知道”也是耳熟能詳;
那些年國(guó)內(nèi)的谷歌是這樣的:

那些年百度的首頁(yè)也還沒(méi)更新:

除了目前看來(lái)這兩款主流的搜索引擎,當(dāng)時(shí)這一領(lǐng)域可是熱鬧非凡,雄心勃勃的騰訊搜搜,搜狐的搜狗,雅虎搜索,聲勢(shì)浩大的微軟必應(yīng),國(guó)外還有大量的同類(lèi)產(chǎn)品,ASK JEEVES,Naver,新創(chuàng)搜索引擎——Duckduckgo等等,得益于盈利性極強(qiáng)的商業(yè)模式,加之龐大的用戶(hù)增長(zhǎng)紅利,使得搜索引擎成為當(dāng)之無(wú)愧的明星產(chǎn)品,尤其是受到新創(chuàng)引擎Duckduckgo的勵(lì)志故事,并在深入了解google當(dāng)年的車(chē)庫(kù)發(fā)家史后,我也雄心勃勃的讀起了PageRank,渴望破解搜索引擎背后產(chǎn)品的秘密,也打造一款廣受喜愛(ài)的搜索引擎;
1.2 PageRank解密
如果讀者了解過(guò)Google的車(chē)庫(kù)創(chuàng)業(yè)史,應(yīng)該了解PageRank對(duì)于Google的重要性,早期的google為什么使用體驗(yàn)好,給人以簡(jiǎn)單可依賴(lài)的感覺(jué),不僅僅在于其早期沒(méi)有廣告的簡(jiǎn)潔界面,獨(dú)自的快照系統(tǒng)、動(dòng)態(tài)生成摘要信息,以及為實(shí)現(xiàn)高速檢索而設(shè)置的分散系統(tǒng)(數(shù)千臺(tái)規(guī)模的Linux集群)等等,最重要的優(yōu)點(diǎn)就在于它檢索的正確性,而PageRank就是這種正確性的保證,它可以自動(dòng)判斷網(wǎng)頁(yè)重要性;
PageRank的核心思想有2點(diǎn):
如果一個(gè)網(wǎng)頁(yè)被很多其他網(wǎng)頁(yè)鏈接到的話(huà)說(shuō)明這個(gè)網(wǎng)頁(yè)比較重要,也就是pagerank值會(huì)相對(duì)較高;
如果一個(gè)pagerank值很高的網(wǎng)頁(yè)鏈接到一個(gè)其他的網(wǎng)頁(yè),那么被鏈接到的網(wǎng)頁(yè)的pagerank值會(huì)相應(yīng)地因此而提高;
下面這張圖來(lái)自Wikipedia,比較形象地解釋了核心思想,每個(gè)球代表一個(gè)網(wǎng)頁(yè),球的大小反應(yīng)了網(wǎng)頁(yè)的pagerank值的大小。指向網(wǎng)頁(yè)B和網(wǎng)頁(yè)E的鏈接很多,所以B和E的pagerank值較高,另外,雖然很少有網(wǎng)頁(yè)指向C,但是最重要的網(wǎng)頁(yè)B指向了C,所以C的pagerank值比E還要大。

PageRank有效地利用了 Web 所擁有的龐大鏈接構(gòu)造的特性。 從網(wǎng)頁(yè)A導(dǎo)向網(wǎng)頁(yè)B的鏈接被看作是對(duì)頁(yè)面A對(duì)頁(yè)面B的支持投票,Google根據(jù)這個(gè)投票數(shù)來(lái)判斷頁(yè)面的重要性??墒?Google 不單單只看投票數(shù)(即鏈接數(shù)),對(duì)投票的頁(yè)面也進(jìn)行分析?!钢匾浴垢叩捻?yè)面所投的票的評(píng)價(jià)會(huì)更高,因?yàn)榻邮苓@個(gè)投票頁(yè)面會(huì)被理解為「重要的物品」。
根據(jù)這樣的分析,得到了高評(píng)價(jià)的重要頁(yè)面會(huì)被給予較高的 Page Rank(網(wǎng)頁(yè)等級(jí)),在檢索結(jié)果內(nèi)的名次也會(huì)提高。PageRank 是 Google 中表示網(wǎng)頁(yè)重要性的綜合性指標(biāo),而且不會(huì)受到各種檢索(引擎)的影響。倒不如說(shuō),PageRank 就是基于對(duì)"使用復(fù)雜的算法而得到的鏈接構(gòu)造"的分析,從而得出的各網(wǎng)頁(yè)本身的特性。當(dāng)然,重要性高的頁(yè)面如果和檢索詞句沒(méi)有關(guān)聯(lián)同樣也沒(méi)有任何意義。為此 Google 使用了精練后的文本匹配技術(shù),使得能夠檢索出重要而且正確的頁(yè)面。
簡(jiǎn)而言之,PageRank 是基于「從許多優(yōu)質(zhì)的網(wǎng)頁(yè)鏈接過(guò)來(lái)的網(wǎng)頁(yè),必定還是優(yōu)質(zhì)網(wǎng)頁(yè)」的回歸關(guān)系,來(lái)判定所有網(wǎng)頁(yè)的重要性。
對(duì)PageRank基本了解后,如何構(gòu)建一套搜索引擎,當(dāng)時(shí)筆者還是一臉茫然,后來(lái)又陸續(xù)了解了Luence、Nutch,才慢慢摸索了一些構(gòu)建搜索引擎的基礎(chǔ),以及對(duì)搜索引擎產(chǎn)品背后的邏輯的直觀認(rèn)識(shí),現(xiàn)在看來(lái),當(dāng)時(shí)的認(rèn)知還真只是皮毛;

吳軍《數(shù)學(xué)之美》里面提到搜索引擎分為三大塊:下載,索引,搜索。
下載:
這部分是需要把你想要搜索的范圍的原始數(shù)據(jù)。如果搜索的范疇是網(wǎng)頁(yè)上的內(nèi)容,那么它就是一個(gè)網(wǎng)絡(luò)爬蟲(chóng)。我當(dāng)時(shí)做的是一個(gè)校內(nèi)網(wǎng)的搜索引擎,所以就寫(xiě)了一個(gè)爬蟲(chóng)從校園網(wǎng)主頁(yè)開(kāi)始下載,分析網(wǎng)頁(yè)內(nèi)的鏈接把符合要求的鏈接加入待下載隊(duì)列,這樣一直把所有校園網(wǎng)的網(wǎng)頁(yè)全部都下載下來(lái)。
索引
搜索引擎之所以可以搜的那么快,都是索引的功勞。索引是一種專(zhuān)門(mén)針對(duì)搜索優(yōu)化的結(jié)構(gòu),詳情可以百度倒排索引 。
前面搜索下載的是網(wǎng)頁(yè)全文,里面的html標(biāo)簽是不需要被搜索的,所以要把數(shù)據(jù)清洗一下,提取出其中的重要內(nèi)容。文本內(nèi)容的預(yù)處理還需要分詞 、去除無(wú)意義的停用詞等。分詞是什么呢…你還是百度吧
建立索引有現(xiàn)成的庫(kù):LUCENE ,它自帶有幾個(gè)默認(rèn)分詞器,如果想要你的搜索引擎搜索的結(jié)果更好,你可以使用的中文分詞器(這個(gè)當(dāng)然也有現(xiàn)成的工具啦,ik分詞,NLPIR這些都是現(xiàn)有的解決方案,效果也還不錯(cuò))如果之前沒(méi)有接觸過(guò)它,那就需要學(xué)習(xí)一下。
索引建立好了,接下來(lái)就是搜索了。搜索是將根據(jù)查詢(xún)?cè)~,搜索索引內(nèi)匹配的內(nèi)容,然后展示出來(lái)。符合查詢(xún)?cè)~的結(jié)果多了的時(shí)候怎么辦呢,這就涉及到排序的問(wèn)題,這就有點(diǎn)復(fù)雜啦,這就涉及到很多排序算法比如tfidf之類(lèi)的東西,不過(guò)這些lucene的api也幫你做了,它的內(nèi)部有一個(gè)打分機(jī)制,將打分高放在搜索結(jié)果的前面。