三步搭建自己的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來模擬一個網站的前後臺。結合使用者輸入和搜尋範圍選擇,來顯示相應的搜尋結果。
進入華為雲學院( https://edu.huaweicloud.com/),學習課程《 21天晉級大資料實戰營 》,獲取更多操作教程!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556022/viewspace-2284280/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用Google百度等搜尋引擎的常用搜尋技巧Go
- 使用elasticsearch搭建自己的搜尋系統Elasticsearch
- 用 google 作為你的預設搜尋引擎Go
- Google:24%的美國旅行者通過搜尋引擎搜尋住宿資訊Go
- 搜尋引擎-03-搜尋引擎原理
- 雅虎釋出API,構建自己的搜尋引擎API
- Scrapy分散式爬蟲打造搜尋引擎-(八)elasticsearch結合django搭建搜尋引擎分散式爬蟲ElasticsearchDjango
- 自己動手實現主題搜尋引擎
- 實現一個自己的搜尋引擎的初始規劃
- 蘋果或自己開發搜尋引擎:與谷歌拜拜?蘋果谷歌
- 海量資料搜尋---搜尋引擎
- 用elasticsearch和nuxtjs搭建bt搜尋引擎ElasticsearchUXJS
- Google搜尋大法Go
- Google搜尋API?GoAPI
- Google搜尋技巧Go
- Nebula 基於 ElasticSearch 的全文搜尋引擎的文字搜尋Elasticsearch
- 搜尋引擎es-分詞與搜尋分詞
- ElasticSearch全文搜尋引擎Elasticsearch
- 搜尋引擎語法
- 搜尋引擎命令大全
- 搜尋引擎程式碼
- 搜尋引擎面試題面試題
- 搜尋引擎必看的入門書籍——《搜尋引擎:資訊檢索實踐》
- 快速使用Google搜尋Go
- GOOGLE搜尋祕籍Go
- google搜尋語法Go
- python 寫的搜尋引擎Python
- Google的個性化搜尋Go
- Google 按圖搜尋的原理Go
- 【搜尋引擎】 PostgreSQL 10 實時全文檢索和分詞、相似搜尋、模糊匹配實現類似Google搜尋自動提示SQL分詞Go
- Mac上神奇的內建搜尋引擎——Spotlight(聚焦搜尋)Mac
- 以圖搜圖三大搜尋引擎:Google圖片、TinEye、百度識圖Go
- 搜尋引擎優化(SEO)優化
- 搜尋引擎框架介紹框架
- Django整合搜尋引擎ElasticserachDjangoAST
- 認識搜尋引擎 ElasticsearchElasticsearch
- 搜尋引擎與前端SEO前端
- 搜尋引擎原理及使用