搜索引擎知識介紹和相關框架es,solr, Lucene

搜索引擎知識介紹和相關框架
    什麼是搜索:在海量信息中獲取咱們想要的信息
    傳統作法:
        一、文檔中使用系統的Find查找
        二、mysql中使用like模糊查詢
    問題:
        一、海量數據中不能及時響應,少許數據能夠經過傳統的MySql創建索引解決
        二、一些無用詞不能進行過濾,無法分詞
        三、數據量大的話難以拓展
        四、相同的數據難以進行類似度最高的進行排序
    搜索引擎:
        一、存儲非結構化的數據
        二、快速檢索和響應咱們須要的信息,快-準
        三、進行相關性的排序,過濾等
        四、能夠去掉停用詞(沒有特殊含義的詞,好比英文的a,is等,中文: 這,的,是等),框架通常支持能夠自定義停用詞
java

    經常使用框架:
        一、Lucene
            Apache下面的一個開源項目,高性能的、可擴展的工具庫,提供搜索的基本架構;
            若是開發人員需用使用的話,需用本身進行開發,成本比較大,可是性能高
mysql

        二、solr
            Solr基於Lucene的全文搜索框架,提供了比Lucene更爲豐富的功能,
            同時實現了可配置、可擴展並對查詢性能進行了優化
            創建索引時,搜索效率降低,實時索引搜索效率不高
            數據量的增長,Solr的搜索效率會變得更低,適合小的搜索應用,對應java客戶端的是solrj
web


        三、elasticSearch
            基於Lucene的搜索框架, 它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口
            上手容易,拓展節點方便,可用於存儲和檢索海量數據,接近實時搜索,海量數據量增長,搜索響應性能幾乎不受影響;
            分佈式搜索框架,自動發現節點,副本機制,保障可用性
sql

 

elasticSearch主要特色服務器

        一、特色:全文檢索,結構化檢索,數據統計、分析,接近實時處理,分佈式搜索(可部署數百臺服務器),處理PB級別的數據
            搜索糾錯,自動完成
        二、使用場景:日誌搜索,數據聚合,數據監控,報表統計分析
        
        三、國內外使用者:維基百科,Stack Overflow,GitHub
架構

相關文章
相關標籤/搜索