三步搭建自己的Google搜尋引擎
三步搭建自己的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來模擬一個網站的前後臺。結合使用者輸入和搜尋範圍選擇,來顯示相應的搜尋結果。
進入華為雲學院(
,學習課程《21天晉級大資料實戰營》,獲取更多操作教程!