閒魚如何高效打造一個多業務、低侵入的搜索鏈路

{"type":"doc","content":[{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"問題及現狀"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"閒魚搜索很多場景基於集團搜索中臺能力,縱觀閒魚搜索鏈路,存在多角色(工程、算法工程、算法等)、多業務(閒魚無憂購、租房、帖子等)、多節點(離線數據源聚合、在線召回、URF Rank等),具有明顯的複雜性。並且閒魚主搜僅存在一條鏈路支持搜索多業務發展,各角色、各業務、各節點處於高耦合串行迭代模式。在大數據量、多業務、多角色並行場景下,以下問題日益明顯: "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1、迭代效率低、排期長,無法滿足新業務快速迭代訴求:主要體現在數據量大,單次迭代週期長,以及多業務、多角色串行操作,耦合嚴重; "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2、風險高:不同業務、不同特性均在主引擎召回鏈路執行修改,侵入大,風險高; "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3、干預能力弱,業務間混排能力不足:缺少干預扶持能力,無法有效爲創新業務提供定製化孵化能力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"閒魚一次請求完整流程如下:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/47\/47eb6f1ef4f78689e167d2fab8c9c7d0.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"注:QP,即Query Planner,主要用於預測用戶query搜索意圖。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"SP在測試環節下調用拓撲示例如下:"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/5c\/5c86758c0251194bc9d33c80050d1c61.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"關鍵節點:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"blender是SP服務核心入口,主要職責包括解析用戶query意圖、引擎分頁召回、搜索數據補齊等功能。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"uniq_session是召回核心入口,通過引擎召回、分頁處理、URF Rank等操作,獲取最終商品列表 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"ha3_searcher是引擎召回入口,翻譯用戶query爲HA3引擎查詢query,請求引擎在線服務,召回滿足條件商品信息 。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"uniq_summary是商品信息補充入口,依據商品id列表,補齊商品詳細信息並返回,最終在搜索結果頁呈現給用戶。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"背景概述"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"閒魚搜索很多場景基於集團搜索中臺能力,搜索引擎分爲數據源聚合(離線dump)、全量\/增量\/實時索引構建及在線服務等部分,通過集團內部一系列處理階段,對客戶提供高可用高性能的搜索服務。服務架構如下:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/86\/863d00dd57acc4d9ff59bb08a42199ee.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其中:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"SP\/SPL是集團內一套構建於Wunder上的開發工具,提供開發測試打包上線的視圖界面以及一套業務函數庫。HA3是一套基於suez框架的全文檢索引擎,提供豐富的在線查詢子句,過濾子句,排序子句,聚合子句且支持用戶自定義開發排序插件。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Qrs用於接收用戶查詢,將用戶查詢分發給Searcher,收集Searcher返回的結果作整合,最終返回給用戶。Searcher是搜索查詢的執行者,主要包括倒排索引召回、統計、條件過濾、文檔打分及排序及摘要生成。在實際的部署中,Qrs和Searcher都是採用多行部署的方式,可以根據業務的流量變化作調整。Searcher還可以根據業務的數據量調整列數,解決單機內存或磁盤放不下所有數據的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"剖開HA3引擎,我們可以粗略看下引擎側索引的構建以及在線召回鏈路:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/12\/12a8fac779aa3b8f8b1c6f78f9544228.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"藍色部分表示HA3在線服務,提供在線召回商品服務;綠色部分表示引擎數據源聚合(離線dump)邏輯,將商品信息構建成對應的引擎數據源。下圖爲一個離線引擎dump的數據源圖示例:"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/72\/72da97884ce4f51ae456f8cc9e96cbe7.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"設計思路"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由於我們要解決的問題是如何安全、靈活、高效地支撐多業務接入閒魚搜索,並提供不同業務間混排能力,我們的設計想法如下:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1、支持業務間互相隔離,從引擎側深層次隔離,提高整體迭代效率"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2、支持多引擎併發召回能力,解決搜索RT惡化問題"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3、支持多引擎召回結果合併能力,並統一傳遞給URF Rank執行混排"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"4、支持實時干預能力,滿足不同業務孵化訴求"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"調研集團內部已有實現模式,並結合閒魚搜索業務發展訴求,我們重新設計並執行閒魚底層引擎召回邏輯升級流程,從單引擎單路召回架構升級爲多引擎多路併發召回架構。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/36\/36d8c67aa13678306b176f68cf647b75.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Search Planner及搜索引擎層升級如下圖所示:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/03\/03bd441996b3b99577e5aabe27ff06e3.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"主要升級節點如下:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1、步驟1中解析用戶query,獲取"},{"type":"text","marks":[{"type":"strong"}],"text":"多引擎標識"},{"type":"text","text":",解析並緩存引擎配置信息 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2、步驟3流控模塊從"},{"type":"text","marks":[{"type":"strong"}],"text":"配置中心"},{"type":"text","text":"獲取引擎定製化配置,並執行query改寫邏輯,生成對應的HA3請求串 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3、步驟4依據query中攜帶的多引擎標識,"},{"type":"text","marks":[{"type":"strong"}],"text":"併發請求"},{"type":"text","text":"不同引擎在線服務召回商品,並"},{"type":"text","marks":[{"type":"strong"}],"text":"合併"},{"type":"text","text":"召回結果,統一調用步驟5的精排服務能力 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"4、步驟5算法側升級支持多引擎結果,支持"},{"type":"text","marks":[{"type":"strong"}],"text":"多業務混排能力"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"實現方案"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"依照上節的設計思路,實現方案核心主要關注以下幾點:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1、如何解析用戶query,並緩存用戶query相關引擎配置信息 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"每一個引擎均存在唯一的標識id(便於說明:主搜引擎標識爲0,閒魚無憂購引擎標識爲1,向量引擎標識爲2),上層搜索業務層依據不同業務場景組裝引擎查詢query,包括組裝引擎標識列表(比如bizType=0,1,2,表示同時從主搜引擎、閒魚無憂購引擎、向量引擎召回商品)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Search Planner核心解析邏輯如下:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"codeblock","attrs":{"lang":"text"},"content":[{"type":"text","text":"-- 構建請求的biz列表\nfunction get_search_biz_type_list(query, param) \n -- 搜索biz配置列表\n local search_biz_type_list = {}\n if query.bizType then\n if type(query.bizType) == \"string\" then\n table.insert(search_biz_type_list, query.bizType)\n else \n search_biz_type_list = query.bizType\n end\n end\n\n if search_biz_type_list == nil or #search_biz_type_list < 1 then\n table.insert(search_biz_type_list, param.default_biz_type)\n end\n\n local search_list = {}\n if not query._enable_multiplexed then\n table.insert(search_list, {biz = param.default_biz_type, biz_type = search_biz_type_list})\n\n return search_list\n end\n\n for _, type in ipairs(search_biz_type_list) do\n table.insert(search_list, {biz = type, biz_type=type})\n end\n\n return search_list\nend"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2、流控模塊如何獲取引擎定製化配置,執行query改寫邏輯 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前流控模塊通過阿里巴巴集團內部廣泛使用的diamond配置中心獲取詳細配置參數,並與引擎唯一標識綁定映射關係。Diamond是淘寶內部廣泛使用的配置中心,提供持久化管理和動態配置推送服務。採用推送服務,每次請求不再需要實時從遠端獲取配置,降低搜索RT,提高搜索體驗。同一環境下,Diamond中通過唯一的GroupId + DataId標識參數配置。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"codeblock","attrs":{"lang":"text"},"content":[{"type":"text","text":"function parse_diamond_config(query, param)\n query._cluster_info = {}\n\n -- 多引擎配置\n local cluster_info_str = param.cluster_info\n local cluster_info = setup.split(cluster_info_str, \";\")\n\n if not cluster_info then\n return\n end\n\n for _, info in ipairs(cluster_info) do\n local single_cluster_info = setup.split(info, \":\")\n\n if single_cluster_info and #single_cluster_info > 1 then\n query._cluster_info[single_cluster_info[1]] = single_cluster_info[2]\n end\n end\n\nend"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"query改寫邏輯封裝在不同的函數組中,通過前置分支判斷,調用函數組中不同改寫入口,生成定製化query。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"codeblock","attrs":{"lang":"text"},"content":[{"type":"text","text":"-- 改寫向量召回query\nfunction rewrite_embedding_recall(query, switch, param)\n -- 創建query\n local que = {}\n que._biz = query._biz\n que._cluster_name = query._cluster_name\n\n que.q = \"NULL\"\n\n if really_need_search_embedding_recall(query) then\n local qp_idlefish_table_qp_reserve_str_4rs_query_vector = query._qp_idlefish_table_qp_reserve_str_4rs_query_vector\n local q_str = qp_idlefish_table_qp_reserve_str_4rs_query_vector .. \"&n=\" .. param.embedding_recall_search_hit\n\n que.q = \"sim_vec:\" .. url_encode(q_str)\n end\n\n -- 改寫attribues\n if not switch.full_phase then\n que.attribute = \"item_id,bizType\"\n end\n\n -- 改寫rank\n que.rank = { -- rank 子句\n rank_profile = 'RecallScorer'\n }\n\n return que\nend"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3、如何併發執行多引擎召回、合併流程,預防搜索RT惡化 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"藉助於SPL異步協程能力,通過一條lambda函數,實現並行調用,以解決搜索RT惡化問題。如:value = search_http(\"\/qp?xxx\"):value(),即表示一次異步併發調用操作。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"codeblock","attrs":{"lang":"text"},"content":[{"type":"text","text":"-- 解析入口\nfunction multi_parse(res_vec)\n local items_search_lua_tables = {}\n\n for _, p in ipairs(res_vec) do\n -- p.res:value()執行異步併發請求\n local res = p and p.res and p.res:value()\n local biz = p and p.biz\n\n ... ...\n\n local ret_table = res:getTable()\n\n table.insert(items_search_lua_tables, {biz=biz, tbl = ret_table})\n end\nend"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"通過多引擎隔離、query改寫手段,各業務間能有效地解耦,滿足各業務定製化訴求,並且對閒魚主搜服務能力干擾最小,將問題集中於單業務內;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"通過集成dianmond配置中心的流控模塊,達到實時干預query搜索能力,並有效孵化創新業務,如當前閒魚無憂購創新業務;"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"通過多引擎併發召回及合併能力,一是解決搜索RT惡化問題,二是結合URF Rank,有效控制不同業務間混排效果,並最終呈現給用戶,以達到更好的用戶體驗。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"以一個精簡版用戶query爲例,傳遞給sp的query如下(查詢關鍵字爲“Zimmermann 裙”,從三個引擎(0、1、2)中召回結果):"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"codeblock","attrs":{"lang":"text"},"content":[{"type":"text","text":"\/bin\/sp?outfmt=json2&src=idlefishwireless&app=spl_secondHand_new&q=Zimmermann%20%E8%A3%99&isForbiden=0&wlsort=35&s=0&n=10&enable_rank=true&enable_advsort=true&new_rs=true&ha3_version=v2&sellStatus=0&auctionType=a,b&se=tis2&bizType=0,1,2"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對應可視化調用拓撲如下:"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/86\/86e30ea9c6ac0687c3d931574d6b4c1d.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"multi_searcher是多路召回入口,包括併發多引擎召回、多引擎結果解析、合併等邏輯。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"紅框中每一個ha3_searcher表示一條獨立引擎召回鏈路,圖中三條鏈路可得出當前召回是多路併發召回("},{"type":"text","marks":[{"type":"strong"}],"text":"56ms < 54ms + 10ms +20ms"},{"type":"text","text":")。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"效果"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"目前多引擎多路召回能力已經在閒魚無憂購引擎、向量引擎場景下落地,整體取得了不錯的效果: "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1、構建快 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"主引擎中閒魚無憂購商品引擎dump大全量單次構建平均時長約爲14h,遷移獨立引擎後平均構建時長約爲5h "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2、接入快 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"主搜場景接入向量召回能力,採用當前多路召回能力,召回鏈路打通原先1周縮短到2天"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3、體驗好 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"主搜場景開啓主搜引擎、閒魚無憂購引擎、向量引擎三路併發召回能力,整體RT上漲約15ms"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"4、資源省 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"主引擎佔用內存(21.6T),無憂購引擎(210M),向量引擎(20G) "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"5、維護成本低 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"無憂購引擎整體12個schema字段,向量引擎目前只需要2個字段"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"閒魚無憂購遷移獨立引擎,整體曝光PV提升近"},{"type":"text","marks":[{"type":"strong"}],"text":"50%"},{"type":"text","text":",支付訂單整體提升近"},{"type":"text","marks":[{"type":"strong"}],"text":"33%"},{"type":"text","text":"。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"閒魚無憂購商品與主引擎C2C商品混排效果如下:"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/a8\/a897658ac1a8fc383dd9d8a465e5f0cd.png","alt":"圖片","title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"展望"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"前期主要集中於搜索架構升級快速落地,快速支撐業務發展訴求,當前實現上存在不優雅、用戶使用門檻高等問題,後續我們將圍繞多路召回能力及用戶體驗繼續優化:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1、隔離query改寫及多引擎合併能力,將職責從平臺側遷移到業務側,提高主鏈路穩定性,以及業務迭代效率 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當前各個引擎query改寫能力及合併能力,和主鏈路流程揉合在一起,未做到垂直業務間、垂直業務與主鏈路間隔離,對主鏈路的穩定性存在一定的影響 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2、精細化流控及干預能力,並提供可視化配置能力 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當前流控及干預手段,統一使用集團diamond配置,缺少一個便於操作使用的可視化能力"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3、SP功能核心代碼邏輯從lua遷移java,降低用戶學習、開發成本 "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"新的一年,閒魚側將有更多的垂直業務接入搜索,多路召回能力將極大的幫助更多垂直業務快速接入,並提供更優雅、靈活、高效的業務混排能力,爲各業務的持續發展提供強有力的支撐。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本文轉載自:閒魚技術(ID:XYtech_Alibaba)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"原文鏈接:"},{"type":"link","attrs":{"href":"https:\/\/mp.weixin.qq.com\/s\/5G8qqJSeViC9FXa0jDiTTg","title":"xxx","type":null},"content":[{"type":"text","text":"閒魚如何高效打造一個多業務、低侵入的搜索鏈路"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章