原创 知乎推薦系統的實踐及重構之路

1、背景 知乎從問答起步,已逐步成長爲一個大規模的綜合性知識內容平臺,截止目前,用戶數突破 2.2 億,有超過 3000 萬的問題被提出,並獲得超過 1.3 億個回答。同時,知乎內還沉澱了數量衆多的優質文章、電子書以及其它付費內容。 因此

原创 Java SSM框架相關基礎整理

一、Spring面試題 1、Spring 在ssm中起什麼作用? Spring:輕量級框架 作用:Bean工廠,用來管理Bean的生命週期和框架集成。 兩大核心: ①. IOC/DI(控制反轉/依賴注入) :把dao依賴注入到servic

原创 技術交流,掃描關注技術公衆號!

精選各領域互聯網技術, 推送前後端、算法、人工智能領域優質技術文章!! 本公衆號由阿里、網易、美團等團隊組成 精選各領域互聯網技術, 推送前後端、算法、人工智能領域優質技術文章!! 本公衆號由阿里、網易、美團等團隊組成。

原创 電商搜索引擎的架構設計和性能優化

首先,我想說的是電商搜索引擎和普通的搜索引擎有很大的差別,因爲電商搜索引擎主要是解決用戶要“買什麼”,而通用搜索引擎主要是解決用戶“搜什麼”。比如同樣搜索一個詞“百年孤獨”,電商的搜索肯定是給你推薦這本書的商家,而百度主要是告訴你:《百年

原创 分佈式理論和系統架構設計

CAP理論 分佈式鎖 分佈式一致性 分佈式事務 負載均衡 微服務   一  CAP和BASE理論 1.1  CAP理論         分佈式領域中存在CAP理論,且該理論已被證明:任何分佈式系統只可同時滿足兩點,無法三者兼顧。很多系統在

原创 BST、AVL、B-TREE、B+TREE、紅黑樹

1:BST 二叉搜索樹(左子樹值<=根值<=右子樹) 1.1 定義 1 首先它也是一個二叉樹,故滿足遞歸定義; 2 其次每個節點只存在一個值; 3 需滿足左子樹值<=根值<=右子樹,BST的中序遍歷必定是嚴格遞增的。 在實際場景中,用的

原创 蘑菇街搜索與推薦架構

搜索架構的探索之當前現狀 蘑菇街搜索當前架構 如上圖,是蘑菇街當前搜索架構,分爲在線和離線兩部分。在線部分主要職責是處理在線的搜索請求。離線部分的主要職責是處理數據流。 在線請求鏈路 如上圖,是整個在線請求鏈路,主要分爲

原创 從分佈式系統設計看Elasticsearch集羣及數據結構

一: 概述 es本質上就是由分佈式思想+lucene組合而成,因爲lucene的存在,它比一般的分佈式系統會稍微複雜一點,es採取的分佈式思想是分片+副本+去中心化。 es持久化的方式是:副本索引文件+translog文件,es默認配置下

原创 從Elasticsearch集羣及數據層架構,看分佈式系統設計

分佈式系統類型多,涉及面非常廣,不同類型的系統有不同的特點,批量計算和實時計算就差別非常大。這篇文章中,重點會討論下分佈式數據系統的設計,比如分佈式存儲系統,分佈式搜索系統,分佈式分析系統等。我們先來簡單看下Elasticsearch的架

原创 elasticsearch ik配置動態同義詞

使用環境elasticsearch5.1.1kibana5.1.1同義詞插件5.1.1安裝插件下載對應的elasticsearch-analysis-dynamic-synonym-5.1.1.zip, 解壓到本地的elasticsear

原创 美團旅遊召回系統設計

背景美團點評作爲最大的生活服務平臺,有豐富的品類可供用戶選擇,因此搜索這個入口對各業務的重要性不言而喻,除了平臺搜索外,業務搜索系統的質量和效果對用戶體驗、商家曝光、平臺交易也有着關鍵作用。相對美團點評平臺的O2O檢索,旅遊搜索系統主要面

原创 倒排索引查詢原理

Lucene 查詢過程 在lucene中查詢是基於segment。每個segment可以看做是一個獨立的subindex,在建立索引的過程中,lucene會不斷的flush內存中的數據持久化形成新的segment。多個segment也會不

原创 Lucene簡介和索引原理

基於Lucene檢索引擎我們開發了自己的全文檢索系統,承擔起後臺PB級、萬億條數據記錄的檢索工作,這裏向大家分享下Lucene底層原理研究和一些優化經驗。    從兩個方面介紹:    1. Lucene簡介和索引原理    2. Luc

原创 lucene倒排索引表搜索原理

什麼是正排索引?什麼是倒排索引?搜索的過程是什麼樣的?會用到哪些算法與數據結構? 前面的內容太宏觀,爲了照顧大部分沒有做過搜索引擎的同學,數據結構與算法部分從正排索引、倒排索引一點點開始。提問:什麼是正排索引(forward index)

原创 ALS 推薦系統

1:ALS(alternating least squares ):交替最小二乘法 在機器學習中,特指使用最小二乘法的一種協同推薦算法。如下圖所示,u表示用戶,v表示商品,用戶給商品打分,但是並不是每一個用戶都會給每一種商品打分。? 表示