有人說搜索引擎技術似乎不需要本地化。這是完全不了解這個領域的人說的。當然,說實話,如果有人說谷歌在中文本地化方面做得非常好,我可以部分同意,同意的比例可能比谷歌工程師還少。但我相信谷歌的工程師也會告訴你,搜索引擎需要本地化。


        今天寫一篇關于搜索引擎的技術機制和市場競爭的一些特點的科普文章。當然,作為從事或者對流量運營感興趣的朋友,你可以從另一個角度來理解這篇文章。


        搜索引擎的核心技術架構包括以下三個部分:一是蜘蛛/爬蟲技術;第二,指數技術;三是查詢呈現技術;當然,我不是搜索引擎的架構師。我只能膚淺地做一個結構性的分割。


        1.蜘蛛,又稱爬蟲,是一種從互聯網上抓取和存儲信息的技術。


        很多不明所以的人對搜索引擎的信息收錄有很多誤解,以為是有償收錄,或者有什么其他特殊的投稿技巧。事實上,他們不是。搜索引擎通過互聯網上一些知名網站抓取內容并分析鏈接,然后有選擇地抓取鏈接中的內容,再對鏈接進行分析。以此類推,通過有限的入口,他們基于彼此的鏈接,形成了強大的信息抓取能力。


        有些搜索引擎本身也有鏈接提交入口,但基本上,并不是主要的入口。不過作為創業者,建議了解一下相關信息。百度和google都有站長平臺和管理背景,這里的很多內容需要非常非常認真的對待。


        反過來,在這個原則下,一個網站只有被其他網站鏈接,才能被搜索引擎抓取。如果這個網站沒有外部鏈接,或者外部鏈接在搜索引擎中被認為是垃圾或者無效鏈接,那么搜索引擎可能不會抓取他的頁面。


        而分析判斷搜索引擎是否或何時抓取了你的頁面,只能通過服務器上的訪問日志來查詢。如果是cdn的話,會比較麻煩。但是無論如何在網站中嵌入代碼,比如cnzz、百度統計或者google ?analytics,都無法獲取蜘蛛抓取的信息,因為這些信息不會觸發這些代碼的執行。


        推薦的日志分析軟件是awstats。


        十幾年前,分析百度蜘蛛的抓取軌跡和更新策略是很多草根站長的日常功課。比如某知名80后上市公司董事長,現在身價幾十億,當年在一個站長論壇上就用這個精準的分析判斷封神了。很小的時候就已經是站長圈的偶像了。但是蜘蛛的話題不僅僅是基于鏈接抓取,還有擴展。


        首先,網站所有者可以選擇是否允許蜘蛛抓取。有一個robots.txt文件來控制這一點。


        一個典型的例子是https://www.taobao.com/robots.txt.


        如你所見,淘寶仍有關鍵目錄不對百度蜘蛛開放,而是對google開放。


        另一個經典案例是http://www.baidu.com/robots.txt.


        你看到了什么?也許你什么都沒看見。我提醒你一下,百度實際上是完全禁止360蜘蛛抓取的。


        但是這個協議只是一個約定,實際上并沒有約束力。所以,你猜,360遵守百度的蜘蛛抓取禁令了嗎?


        其次,最早的抓取是基于網站之間的鏈接,但實際上并不能肯定的說可能還有其他的抓取入口,比如,


        插件或瀏覽器,免費網站統計系統的內嵌代碼。


        會不會成為蜘蛛搶奪的入口?我只能說有可能。


        所以我跟很多創業者說,如果中國做網站,發布百度統計,海外網站,發布google ?analytics,會增加你的網站被搜索引擎收錄嗎?我只能說猜測,有可能。


        第三,無法捕捉的信息。


        有些網站是用javascript特效鏈接的,比如浮動菜單等。這種連接可能不會被搜索引擎的蜘蛛程序識別。當然,我只是說有可能。現在搜索引擎比以前更智能了。十幾年前很多特效環節別的都不知道,現在會更好。


        需要登錄注冊的頁面,蜘蛛是無法訪問的,也就是無法收錄。


        有些網站會給出專門的頁面進行搜索,也就是蜘蛛來了就能看到內容(蜘蛛訪問會有專門的客戶端標記,服務器識別和處理也不復雜)。人來了要登錄才能看到,但這其實是違反收錄協議的(需要人和蜘蛛看到相同的內容,這是大部分搜索引擎的收錄協議),可能會受到搜索引擎的懲罰。


        所以一個社區要想通過搜索引擎帶來免費用戶,就必須讓訪客看到內容,哪怕是一部分。


        帶有許多復雜參數的內容鏈接URL可能會被蜘蛛作為重復頁面拒絕。


        很多動態頁面都是由一個帶參數的腳本程序來體現的,但是蜘蛛發現同一個腳本有大量的參數,有時候會給這個頁面的價值評估帶來麻煩。蜘蛛可能會認為這個頁面是一個重復的頁面,并拒絕包括它。還是那句話,隨著技術的發展,蜘蛛在識別動態腳本的參數方面已經有了很大的進步,現在已經基本不需要考慮這個問題了。但這就誕生了一種技術,叫做偽靜態。通過配置web服務器,用戶訪問的頁面的url格式看起來是靜態頁面,但實際上后面是常規匹配,實際執行的是動態腳本。


        為了追求免費搜索,許多社區論壇已經偽靜態化。十幾年前,幾乎是草根站長的必備技能之一。


        爬蟲技術暫時放在這里,重點在這里。有外鏈不代表搜索蜘蛛會爬。如果搜索蜘蛛抓取,不代表搜索引擎會收錄。搜索引擎收錄,不代表用戶可以搜索;


        站點語法是檢查一個網站條目數量的最基本的搜索語法。我開始以為是個常識,后來在新加坡做了一些創業培訓才發現。大部分剛進入這個行業的人,或者有意進入這個行業的人,對這個行業一無所知。


        舉個例子,百度搜索site:4399.com。


        2.指標系統


        蜘蛛抓取的是網頁的內容,所以如果想讓用戶通過關鍵詞快速搜索到這個網頁,就必須用關鍵詞索引網頁,這樣才能提高查詢效率。簡單來說,就是從網頁中提取出每個關鍵詞,針對這些關鍵詞的出現頻率、位置、特殊標記等諸多因素賦予不同的權重,然后存儲在索引數據庫中。


        那么問題來了,關鍵詞是什么。


        在英語中,如這是一本書,在漢語中,這是一本書。


        英語自然是四個字,空格是自然參與者。語文呢?不能把一個句子作為關鍵詞(如果你把一個句子作為關鍵詞,那么當你搜索一些信息的時候,你就無法獲得索引命中。比如你搜索一本書,卻找不到,這顯然不符合搜索引擎的訴求)。所以分詞。


        剛開始,最簡單的想法就是每一個字都剪。這曾被稱為詞索引。每個單詞都有索引,并標出其位置。如果一個用戶搜索一個關鍵詞,它也會把這個關鍵詞拆分成單詞來搜索并組合結果,但這時問題就出現了。


        比如搜索關鍵詞“海鮮”,會出現一個結果,上海鮮花,顯然不是正確的搜索結果。


        比如搜索關鍵詞“和服”,就會出現結果、交換機、服務器。


        這些都是谷歌在野時期無法幸免的問題。


        后來有了梗。不要笑。這些都是血淚梗。他們半夜給我打電話,說網監通過搜索發現你們小區有淫穢內容,要求刪除。否則,他會關閉你的網站。他半夜醒來,仔細調查了一番。他百思不得其解,求信息線索。最后他發現有人發了個小廣告,“買二十四個開關”。還有就是涉嫌政治敏感。最終找到了“提供三臺獨立服務器”。你看到敏感詞了嗎?你不應該受委屈。這兩個故事不一定是真的,因為都是在網上看到的,但是我想說,這樣的事情確實存在,也不全是空穴來風。所以分詞是很多亞洲語言需要額外處理的問題,而西方語言不存在。


        但是分詞并不是說說那么簡單,比如以下幾點:1。如何識別人的名字?2.如何識別網絡新詞?比如“不知情”。3.中英文混合的坑,比如QQ表情。


        做一個分詞系統說到底并不難,但要做一個能自動學習、與時俱進、高效靈活的分詞引擎,技術上還是很難的。當然,我不是這方面的專家,所以不敢妄言。


        現在機器學習技術發達,特別是谷歌在深度學習領域有領先優勢。在過去,許多人工校準和分類工作可以通過算法來完成。某種意義上,本地化工作可以通過機器學習來完成;在未來,也許深度學習技術可以自己學習和掌握本地化技能。但我想提出兩點。第一,從搜索引擎發展的歷史來看,在深度學習技術尚未成熟的情況下,本地化非常重要,也是決定競爭成敗的重要因素。第二,即使深度學習現在已經非常強大了,但是在人工參與、標定、測試、反饋當地語言的基礎上,一些本地化工作仍然對深度學習的效率和效果起到了不可替代的作用。


        除了分詞,還有一些索引系統的關鍵點,比如實時索引,因為索引數據庫的更新是一個大動作。一般網站運營者都知道,自己的網站內容更新后,需要等待索引數據庫的下一次更新才能看到效果。而且,對于不同權重的網站內容,索引數據庫的更新頻率是不同的。但比如一些高優先級的資訊網站和新聞搜索,索引數據庫幾乎可以實時索引,所以我們在新聞搜索中已經可以搜索到幾分鐘前的信息了。


        我曾經抱怨過一件事。每次我在百度空間發表文章,google都率先索引。當時他們的解釋是,猜測是很多人通過google ?Reader訂閱了我的博客,大概是google快速索引的入口。(不過,百度空間沒了,谷歌閱讀器也沒了。)


        指標體系的權重體系是所有SEOER最關心的問題。他們往往以不同的方式組合策略,觀察搜索引擎的收錄、排名、路線,然后通過對比分析整理出相關策略。這個東西可以寫很久,今天就不提了。


        但是讓我告訴你一個事實。很多外面的公司,做SEO的,誤以為百度內部的人熟悉這里的門道和規則。很多人花高價挖百度的搜索產品經理和技術工程師做SEO。結果,呵呵呵呵。而外面那些草根創業者,有一些是擅長這個的,真的比百度的更懂,搜索權重的影響力,更新的頻率等等。比如前面提到的那個身價幾十億的80后創業者。基于結果反推策略,比身處其中但不了解全局的參與者更能發現系統的關鍵點。是不是很有意思?


        3.查詢和顯示


        在用戶的瀏覽器或者手機客戶端輸入一個關鍵詞,或者幾個關鍵詞,甚至一個詞。這是在服務器端,響應程序的后處理步驟如下


        第一步,檢查最近是否有人搜索過同一個關鍵詞。如果有這樣的緩存,最快的處理方式就是提供給你,這樣查詢效率最高,后端負載壓力最低。


        第二步:如果發現這個輸入的查詢最近沒有被搜索過,或者由于其他條件必須更新結果,那么這個用戶輸入的單詞就會被切分。沒錯,如果不止一個關鍵詞或者一句話,答題程序會再次對搜索到的查詢進行分段,拆分成幾個不同的關鍵詞。


        第三步:將切分后的關鍵詞分發給查詢系統,查詢系統會查詢索引數據庫,這是一個龐大的分布式系統。首先分析這個關鍵字屬于哪個塊和服務器,索引是有序的數據組合。我們可以用近似二分法來思考。不管數據有多大,都可以用二分法查找一個結果,查詢頻率為log2(N),保證了在海量數據下,查詢一個關鍵詞當然實際情況會比二分法復雜很多,更容易理解。不是不告訴你,是我自己不知道。


        第四步:將不同關鍵詞的查詢結果(只是部分按權重排序的前幾名結果,肯定不是全部結果)根據權重逆序再次匯總在一起,然后反饋共同命中的部分,做出最終的權重排序。


        記住,搜索引擎永遠不會返回所有結果。這個費用誰也承擔不起,百度不行,谷歌也不行,而且翻頁也有限制。


        請記住,如果在您的多個關鍵字中有許多不同類別的冷門詞,搜索引擎可能會丟棄其中的一個,因為摘要數據很可能不包含常見的結果。搜索技術不應該被神話,這樣的例子偶爾會出現。


        這是三個主要部分。更確切的說,其實還有第四部。


        單擊用戶行為收集和反饋部分。


        基于用戶的翻頁和點擊分布,可以判斷搜索結果的好壞,調整權重。不過這個早期的搜索引擎是沒有的,只是后來才有,所以暫時不列為必備的三塊。


        此外還有一些搜索優化的機器學習策略,易混淆詞和同音詞的識別等。也都是基于用戶行為反饋,這是另一個故事,這里不展開。


        關于第四部,我以前說過一句話,點擊求權。我說這個詞值一千塊,估計很多人沒看懂。只要我不懂,不然會被一些同行罵死的。以上只是指搜索引擎的工作原理,以及一些技術邏輯。當然只是入門級的解讀。畢竟我也沒法再解釋了。


        但是搜索引擎的本地化并不局限于搜索技術的本地化。


        百度是強大的,不僅僅是在搜索技術上。當然,有人會說百度沒有搜索技術,這個說法我就不爭論了。我不是想改變誰的觀點,我只是列舉一些事實。


        百度的實力也來源于兩大塊,第一塊是內容護城河,第二塊是入口控制。


        前者是百度貼吧、百度mp3、百度知道、百度百科、百度文庫。


        后者是hao123和百度聯盟。


        兩者都是本地化的。谷歌進入中國,兩者都有動作。


        投資天涯,收購265,大力發展谷歌聯盟,都是本地化。


        另外重申一下,百度家族桶的出現以及百度家族桶與hao123的綁定是在360崛起之后。在百度收購和360崛起之前,hao123已經悄然推廣和捆綁。從歷史事實出發,請不要把本土化等同于流氓行為。



      點贊(1) 打賞

      評論列表 共有 0 條評論

      暫無評論

      服務號

      訂閱號

      備注【拉群】

      商務洽談

      微信聯系站長

      發表
      評論
      立即
      投稿
      返回
      頂部