三步搭建自己的Google搜尋引擎

華為雲學院發表於2018-12-05

Google搜尋引擎

 

    搜尋無處不在,尤其是在移動互聯的今天。無論是社交,電商,還是影片等APP中,搜尋都已經在其中扮演了重要的角色。作為資訊的入口,搜尋能幫使用者從海量資訊中找到想要的資訊。在搜尋框中快速依據關鍵字,找出對應內容,這是網站或APP不可或缺的一個功能。搜尋效能、精準度,又是和終端使用者使用體驗息息相關的。雲搜尋服務正是在高效能、全文檢索、自定義詞庫、多種類分詞、模糊查詢、自動糾錯、同近義詞匹配、簡繁體匹配等方面,來滿足使用者對搜尋的訴求。

    Google搜尋引擎大家都用過,Google的搜尋內容,都是依靠爬蟲從網路上爬取的網頁資料。當使用者在輸入框中輸入關鍵字,Google就會在後臺進行內容相關性計算,然後以相關性從高到低返回結果。對於一個網站或者APP來說,我們也希望擁有類似於Google的搜尋框。只不過搜尋的內容,是網站自己提供的內容。

    接下來,就以一個網站的搜尋框作為舉例,透過構建網站的搜尋框,帶您體驗網站搜尋場景中雲搜尋服務的應用。這個網站的內容包含註冊使用者,以及使用者發的帖子。包括三個搜尋場景:使用者搜尋,根據使用者名稱稱匹配度、是否VIP、最近登入時間、發帖數、粉絲數綜合評分得出搜尋結果;帖子搜尋,根據帖子內容匹配度、釋出時間、檢視數、評論數、點贊數綜合評分得出搜尋結果;同義詞搜尋,根據表達意思相同的詞,得到相應的搜尋結果。

總體分為三個步驟:第一步準備環境,主要會用到雲搜尋服務、彈性雲伺服器和虛擬私有云。雲搜尋服務 (Cloud Search Service)是一個基於Elasticsearch且完全託管的線上分散式搜尋服務,為使用者提供結構化、非結構化文字的多條件檢索、統計、報表。完全相容開源Elasticsearch軟體原生介面。彈性雲伺服器(Elastic Cloud Server)是一種可隨時自助獲取、可彈性伸縮的雲伺服器,幫助使用者打造可靠、安全、靈活、高效的應用環境,確保服務持久穩定執行,提升運維效率。虛擬私有云(Virtual Private Cloud)是使用者在華為雲上申請的隔離的、私密的虛擬網路環境。使用者可配置VPC內的IP地址段、子網、安全組等子服務,可申請彈性頻寬和彈性IP搭建業務系統。

第二步索引資料。索引資料是將資料來源中的資料,在 Elasticsearch叢集中建立索引。通常會使用資料同步工具或者ETL工具,從MySQL拉取資料,寫入Elasticsearch。在本次課程裡,我們的資料來源是磁碟上的很多JSON檔案,因此,我們寫了一個程式IndexingApp,從磁碟上讀取檔案內容後,呼叫Elasticsearch的寫介面,將輸入寫入Elasticsearch叢集。

第三步搜尋請求。搜尋請求是從搜尋框中接收使用者的輸入,然後構造搜尋查詢語句,呼叫 Elasticsearch的搜尋介面下發檢索資料請求到Elasticsearch。在本次課程裡,我們試用SearchApp來模擬一個網站的前後臺。結合使用者輸入和搜尋範圍選擇,來顯示相應的搜尋結果。

進入華為雲學院( https://edu.huaweicloud.com/),學習課程《 21天晉級大資料實戰營 》,獲取更多操作教程!

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556022/viewspace-2284280/,如需轉載,請註明出處,否則將追究法律責任。

相關文章