sensei是linkedin的乙個分布式搜尋系統。安裝步驟參考:
或者
sensei專案一直在公升級中,估計安裝起來越來越複雜了
1. sensei的體系結構:
2. 完善後的體系結構
在sensei中採用了兩級結果合併來處理。
在結構中新增了cache 和nosql 兩塊。
2.1 cache的新增
cache新增失去了zoie的實時性,主要是因為:
1) 在資料分發服務中,各個節點很難保證建立索引的一致性結果造成了排序不一致
2)因為有刪除的資料,結果lucene中計算term的tf和idf時,刪除的資料的分詞結果計算在term的tf和idf。 當刪除該資料時,該資料分詞後的term響應的tf不會刪除,造成了不同索引中score不一樣(如上面的node1中的p2 和 node2中的p2即使索引的資料一樣,但是term的tf不一樣,就會造成結果的score有細微差別)。
2.2 nosql的新增
分布式搜尋elasticsearch配置檔案詳解
elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案。elasticsearch.yml檔案中可以配置的如下 cluster.name elasticsearch 配置es的集群...
分布式搜尋方案選型
solr官網 我在學校專案實踐時使用過solandra,它是乙個基於solr和nosql資料庫cassandra的分布式搜尋引擎。cassandra是由facebook開源的nosql數 據庫,facebook的信箱搜尋就是基於它實現的,它是基於列結構的,不同與關聯式資料庫。它的數學模型基於goog...
分布式搜尋演算法
對於搜尋引擎來說,索引存放在成千上萬臺機器上,如何進行分布式搜尋呢?假設搜尋結果是以分頁的方式顯示,以 pagenumber 代表當前頁,從1 開始,以 pagesize 代表頁面大小 預設為 10,以n代表 搜尋伺服器數量 最簡單的 分布式搜尋演算法 為 有一台合併伺服器負責接受使用者的搜尋請求,...