![OpenSearch行業(yè)搜索解決方案之O2O_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/13/20297469-3a39-46ad-a733-39623bb7bf8e/20297469-3a39-46ad-a733-39623bb7bf8e1.gif)
![OpenSearch行業(yè)搜索解決方案之O2O_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/13/20297469-3a39-46ad-a733-39623bb7bf8e/20297469-3a39-46ad-a733-39623bb7bf8e2.gif)
![OpenSearch行業(yè)搜索解決方案之O2O_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/13/20297469-3a39-46ad-a733-39623bb7bf8e/20297469-3a39-46ad-a733-39623bb7bf8e3.gif)
![OpenSearch行業(yè)搜索解決方案之O2O_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/13/20297469-3a39-46ad-a733-39623bb7bf8e/20297469-3a39-46ad-a733-39623bb7bf8e4.gif)
![OpenSearch行業(yè)搜索解決方案之O2O_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/13/20297469-3a39-46ad-a733-39623bb7bf8e/20297469-3a39-46ad-a733-39623bb7bf8e5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、OpenSearch行業(yè)搜索解決方案之O2OOpenSearch典型行業(yè)搜索解決方案之 O2O目錄OpenSearch典型行業(yè)搜索解決方案1之 O2O11、概述22、解決方案22.1創(chuàng)建應(yīng)用52.1.1、配置數(shù)據(jù)表62.1.2、配置搜索屬性72.2、數(shù)據(jù)上傳82.3、搜索效果配置102.3.1 搜索相關(guān)性配置102.3.2 搜索結(jié)果摘要132.3.3 查詢分析132.3.4 下拉提示142.4、搜索152.4.1 初始列表頁152.4.2 排序功能172.4.2 美食搜索192.4.3 鮮花列表頁202.4.4 搜索小結(jié)203、其他日常功能項213.1 錯誤日志213.2 索引重建213.3
2、數(shù)據(jù)統(tǒng)計211、概述 O2O即Online To Offline(在線離線/線上到線下),是指將線下的商務(wù)機會與互聯(lián)網(wǎng)結(jié)合,讓互聯(lián)網(wǎng)成為線下交易的平臺。O2O的概念已經(jīng)落地,各大集團公司都陸續(xù)開始涉水,爭奪勢頭愈演愈烈,各個行業(yè)遍地開花,如外賣、電影、wifi、機票、度假、酒店等,也正積極的影響著人民的生活,帶來了極大便利性。這里的產(chǎn)品對搜索依賴比較重,大部分人的需求比較明確,比如機票起點終點、度假地點、飯店、酒店等,即使沒有輸入的初始列表頁,因為需要根據(jù)距離等做一些排序,所以一般也會通過搜索的方式來獲取,有效的做到千人千面的效果。 今天我們就以口碑來看如何利用OpenSearch來建立一個外
3、賣檢索系統(tǒng)。O2O具有很大的LBS共性,其他O2O行業(yè)的產(chǎn)品可以同類參考。 開始之前,先來個廣告:)口碑外賣-品質(zhì)外賣,美食到家口碑外賣是一款解決你“懶”,提供你品質(zhì)服務(wù)的貼身應(yīng)用。各類優(yōu)惠活動,美食甜點,鮮花超市,你絕對會無情的為我點贊! 當然,我的服務(wù)和體驗絕對會讓你喊嗨! 首先,你是一個人或者想嘗鮮,再或者你太忙,還有“懶”,上口碑外賣就對了。特色小吃、美食外賣、甜點飲品、超市便利還有鮮花等等,只要你想要的,重點在吃,我都有! 其次,我想說,不管你在哪里,上班路上、游戲中、加班中、三亞海島還是東北那嘎子,只要你想,我都在!上百萬家的餐廳,上萬家的大牌商家,滿足你沒問題
4、! 超多品牌外賣如必勝客,肯德基,麥當勞,弄堂里,德克士,永和大王,均已入駐,各種美食,超市百貨,鮮花蛋糕,中餐,西餐,小吃,快餐,火鍋,燒烤,飲品甜點,讓你足不出戶就能叫外賣送餐上門。2、解決方案首先我們來看下口碑外賣首頁,可以看到外賣中有很多分類:美食、甜點、生鮮、鮮花、醫(yī)藥等,非常豐富;排序與篩選條件也非常靈活,可以滿足日常使用中的各種需求。目前僅提供了店名和菜品的獨立搜索框,后續(xù)應(yīng)該會有更多的入口開放出來。鮮花頻道列表頁:外賣及商品搜索:建議開始前先粗覽一遍產(chǎn)品文檔,本文假設(shè)前提:您已經(jīng)了解了OpenSearch的基本功能;您的場景適合使用OpenSearch;您接受Open
5、Search的服務(wù)條款。關(guān)于OpenSearch的基本知識,不在本文討論范圍內(nèi),如有疑問,可以到論壇或者工單上提問。要實現(xiàn)上圖中的搜索功能只需要在OpenSearch中進行4步:2.1創(chuàng)建應(yīng)用一個應(yīng)用即為一個獨立的搜索服務(wù),簡單理解就是一個搜索框。首先進入到OpenSearch控制臺,創(chuàng)建應(yīng)用: 填寫應(yīng)用名、選擇好地域、備注:點擊下一步。2.1.1、配置數(shù)據(jù)表OpenSearch是結(jié)構(gòu)化的搜索服務(wù),首先我們需要定義表的結(jié)構(gòu),這里的字段一般是要用來查詢、過濾、統(tǒng)計、展示的字段,其他無關(guān)字段無需進入OpenSearch中。以口碑外賣為例,我們定義應(yīng)用結(jié)構(gòu)如下:(本文主要是為了演示,只選取了必要字段
6、,具體需要根據(jù)自己的場景來添加、修改或者刪除) 這一步非常關(guān)鍵,很多同學(xué)并不知道如何配置,是否需要與數(shù)據(jù)庫中字段一致,答案是不需要的,這里的字段均來自搜索需求。所以首先需要明確產(chǎn)品上需要做成的效果(如下圖)、過濾(配送范圍、營業(yè)時間等)、排序(距離、評分、銷量、文本匹配度等因素)等需求。 從上圖可以看出,頁面展示的信息都必須在搜索中出現(xiàn)并且可展示,那么就出現(xiàn)了以下字段:注意這里的關(guān)聯(lián)關(guān)系,主表字段只能關(guān)聯(lián)附表主鍵。 這里之所以使用了多表,是因為在實際業(yè)務(wù)中商家與菜品不會放在一張表中做存儲,為了方便用戶按原業(yè)務(wù)表推送數(shù)據(jù),所以系統(tǒng)也支持了多表功能。當然,您也可以放在一張表,尋找最適合自己的方案即
7、可。 如果配置錯誤也沒有關(guān)系,系統(tǒng)提供了動態(tài)修改應(yīng)用結(jié)構(gòu)功能,您可以隨時調(diào)整,不用擔心。2.1.2、配置搜索屬性多表只是為了方便推送數(shù)據(jù),進入搜索引擎中的數(shù)據(jù)都是打平成大寬表的數(shù)據(jù),所以搜索的時候不再有表的概念,這一步就來定義各個字段的搜索屬性。這里是否要勾選需要根據(jù)實際搜索場景產(chǎn)品需求來定,另外細分類型非常重要,尤其是TEXT字段,不同的子類型代表不同的分詞效果,需要慎重選擇。選擇自己想要的,后續(xù)經(jīng)過測試再不斷的調(diào)整優(yōu)化。 這里再重點說下可搜索與索引到,一個源段可以索引到多個索引字段上(如title索引到title、compound上),多個原字段也可以索引到同一個索引字段上(如title、
8、body、seller_name索引到compound上),具體如何配置同樣是根據(jù)搜索需求來。產(chǎn)品上需要綜合搜索,比如只要門店名、菜品名、菜品描述中有一項包含都希望搜索出來,那么可以將上述幾個字段索引到同一個索引字段上,搜索的時候使用query=compound:外婆家,那么門店名、菜品名、菜品中有一項包含外婆家都會被召回。另外,產(chǎn)品上還希望提供按照菜品名搜索,那么可以單獨將title索引到title上,那么query=title:外婆家只會召回菜品名中包含外婆家的菜,門店中包含則不會被召回。2.2、數(shù)據(jù)上傳這里有兩種選擇,一種是后續(xù)通過API/SDK方式上傳(具體參考產(chǎn)品文檔的API/SDK
9、參考手冊),一種是通過數(shù)據(jù)源的方式導(dǎo)入,目前支持RDSODPSOSS,這里以RDS源為例,其他類似(具體參考產(chǎn)品文檔數(shù)據(jù)源配置) 同理,配置好seller表與RDS的映射關(guān)系(注意:array字段需要通過MultiValueSpliter插件來進行解析)繼續(xù)點擊下一步,檢查無誤后即創(chuàng)建成功,按照提示進行應(yīng)用激活以及索引重建操作(第一次RDS需要導(dǎo)入全量,后續(xù)走增量即可,無需再索引重建)。2.3、搜索效果配置經(jīng)過上面的做法,數(shù)據(jù)已經(jīng)上傳完畢,可以搜索了。在搜索之前我們還需要進行下相關(guān)搜索效果的配置,已保證獲取更優(yōu)的展示效果。目前OpenSearch主要提供如下功能的支持,讓我們來分別看一下:2.
10、3.1 搜索相關(guān)性配置搜索引擎找到查詢數(shù)據(jù)后,會對查詢到的文檔進行排序,并按照排序后的順序返回給用戶,用戶可以采用翻頁的方式來進行數(shù)據(jù)展示。目前OpenSearch支持sort多維排序,在本文的案例中,我們需要使用到系統(tǒng)相關(guān)性表達式的功能。目前系統(tǒng)提供的相關(guān)性開放了兩輪的排序規(guī)則:粗排與精排。粗排即是海選,將符合條件的文檔進行粗排表達式計算得分,然后選取TOP N再進行精排表達式計算,最終按照精排得分排序后返回結(jié)果。從上面的處理邏輯來看,粗排因為涉及文檔多,所以需要盡量簡單(匹配的文檔越多對于粗排表達式要求越高,否則會有好的文檔進不了精排,無法展示的情況出現(xiàn)),將質(zhì)量高的文檔挑選出來即可,然后
11、再根據(jù)精排來詳細算分,做排序。 這里粗排表達式我們選取了兩部分,二者之間的權(quán)重為2:1:1, 首先,對于關(guān)鍵詞查詢,最重要的還是文本匹配度,所以這里選擇了static_bm25();2, 其次,對于外賣來講,店鋪質(zhì)量也非常重要,所以這里選擇了takeout_score。精排表達式如下,這里主要有如下幾個因素考慮:1,首先,對于一個文本匹配的場景,需要考慮文本匹配的程度,相關(guān)性越高分值越高;這里的text_relevance()(包含三方面內(nèi)容的考慮:bm25、proximity以及match_doc度)。2,其次,對于O2O場景來講,距離是不可避免的考慮因素,距離越近理論上配送速度越快,用戶體
12、驗越好,所以這里增加了distance(),并使用gauss函數(shù)對距離值進行衰減,使其值域統(tǒng)一到0,1上;3, 對于外賣場景,還需要考慮門店是否營業(yè),同樣是影響配送速度的一個重要因素。所以,這里也增加了營業(yè)時間的判斷。4, 外賣店鋪本身的熱門程度也是一個非常重要的因素,所以這里也增加了takeout_score的排序因子。這里的takeout_score可以由很多因素來決定:品牌、受歡迎程度、用戶評分、配送速度等等綜合計算出來的一個店鋪質(zhì)量分。 確定主體排序因子后,根據(jù)各個排序因子之間值域以及重要程度進行合適的權(quán)重調(diào)整即可,這部分工作需要實際搜索效果中不斷調(diào)試。目前相關(guān)性調(diào)試最常見的ABTes
13、t,尋找50%的TopQuery、20%長尾Query(即結(jié)果數(shù)非常少的查詢)、30%常規(guī)Query(普通查詢)進行效果人工排查,發(fā)現(xiàn)badcase后分析原因,然后調(diào)整排序表達式,以此不斷優(yōu)化,達到最佳效果。設(shè)置成功后,別忘了點擊保存按鈕。一般來講,一個新的排序表達式設(shè)置后可以先通過API接口顯示指定first_formula_name以及formula_name來進行效果測試,并根據(jù)測試結(jié)果不斷調(diào)整,效果滿意后,可以將其設(shè)置為默認即可。一旦設(shè)置為默認,則立即對線上查詢起作用,無需發(fā)布變更,非常方便。此外,對于較為復(fù)雜的搜索場景來講,可以設(shè)置多個排序表達式以滿足不同的查詢場景。如下例中展示,搜
14、索菜品的時候可以使用goods表達式,搜索門店的時候可以使用seller的表達式,綜合搜索的場景使用second即可。2.3.2 搜索結(jié)果摘要摘要顧名思義就是文章的簡介,一般來講,文章內(nèi)容都會比較長,在搜索結(jié)果中不可能全部展示,這時候就需要設(shè)置摘要信息,您可以配置改摘要的片段個數(shù)、片段長度以及片段連接符,片段選取跟查詢詞有關(guān),通常選取關(guān)鍵詞所在的一個或者多個句子。同時,OpenSearch也提供了飄紅功能,用來做查詢詞的高亮顯示。2.3.3 查詢分析查詢分析主要是為了做查詢優(yōu)化的,他存在的目的就是為了深度解析查詢詞意圖,并智能改寫,比如一個查詢地址:杭州市西湖區(qū)文一西路969號,能自動識別并改
15、寫成city:杭州市 AND district:西湖區(qū) AND address:文一西路969號。當然這里只是舉個例子,目前還未提供該功能,現(xiàn)在支持4部分:停用詞(不參與搜索,如特殊符號和一些無意義的副詞等)、同義詞(如肯德基同義KFC等)、詞權(quán)重(對一些不重要的詞做RANK,擴大召回并提升搜索效果)、拼寫糾錯(如百毒糾錯成百度等)。您可以視具體的查詢情況來配置上述功能,目前提供的還是系統(tǒng)自帶詞表,后續(xù)會開放用戶自定義,一些較特殊的場景(如景點名、影視名等)可以自己配置適合的改寫內(nèi)容。配置完畢后,可以通過API指定qp參數(shù)名字來測試(同上述排序表達式測試流程類似),觀察改寫效果,測試通過后,添
16、加至上線,即可以對線上查詢立即生效,非常方便。2.3.4 下拉提示下拉提示目前支持多個字段(最多3個)的語義單元抽取,目前抽取邏輯非常復(fù)雜,如果您發(fā)現(xiàn)有符合預(yù)期的情況,可以與我們反饋,我們會視情況來不斷調(diào)整優(yōu)化。目前下拉提示對于抽取出來的語義單元進行拼音全拼與前綴等模糊搜索效果,可以很好的達到減少用戶輸入并規(guī)范用戶輸入提高搜索效果的效果。配置完畢后生效下拉提示,即可查看效果。效果如下:2.4、搜索系統(tǒng)提供了豐富的搜索語法:查詢、過濾、統(tǒng)計、排序、打散等。接下來我們來看下如何調(diào)用OpenSearch API來實現(xiàn)口碑外賣的效果。2.4.1 初始列表頁 用戶剛打開頁面出現(xiàn)的頁面,此時用戶并沒有進行
17、搜索,所以需要制定規(guī)則篩選出一批商品展現(xiàn)給用戶,這里篩選策略可以自己指定,比如:用戶購買過的店優(yōu)先;距離近的優(yōu)先;好評度高的優(yōu)先;近期優(yōu)惠力度大的優(yōu)先等等,以達到吸引用戶點擊的目的。 這里我們按照距離、好評等因素來綜合來排序;美食的用戶量最大,所以這里只展示美食外賣的門店:query=category:美食/查詢類型為美食的門店sort=-RANK/按照搜索相關(guān)性配置進行排序kvpairs= u_posx:120.234,u_posy:30.324/通過用戶位置獲取經(jīng)緯度坐標,并通過kvpairs中的u_posx、u_posy參數(shù)傳遞給formula用來計算用戶與商家的距離值first_for
18、mula:takeout_score/通過門店質(zhì)量分進行門店海選second_formula:takeout_score+10*gauss_decay(0,distance(lng,lat,u_posx,u_posy),5)/對海選出來的門店取TOP N個進行精細排序,主要考慮門店質(zhì)量分以及距離 另外,在實際外賣的場景下,用戶肯定是在當前城市中的查找,我們可以考慮通過city來縮小查詢范圍提高效率,上面查詢改寫為:query=city:310010 AND category:美食/查詢類型為美食且城市編號為310010的門店 可以在搜索測試頁面進行下初步搜索效果查看:觀察沒問題后,在程序中調(diào)用
19、API接口獲取上述結(jié)果渲染成最終的產(chǎn)品樣式即可。2.4.2 排序功能在上面搜索的基礎(chǔ)上進行排序修正:按照銷量排序:sort=-seller_sales按照最早送達時間排序:sort=-RANKfirst_formula:takeout_score/按照門店質(zhì)量分粗選formula:if(open_time1>time, open_time1+prepare_time, /如果起始時間超過當天時間,則說明還未營業(yè),則送達時間是開始營業(yè)時間+準備時間 if(open_time1 <=time and open_time2, prepare_time, /如果當天時間在營業(yè)范圍內(nèi),則送達
20、時間即為準備時間 10000) /如果超過了營業(yè)結(jié)束時間,則無法送達,這里設(shè)置了一個MAX值10000/open_time1中是配送起始時間距離當天0點的分鐘數(shù),open_time是配送結(jié)束時間距離當天0點的分鐘數(shù)。如營業(yè)時間是9點,21點,那么open_time1為9*60=540,open_time2為21*60=1260。同理,time是當前時間距離當天0點的分鐘數(shù),比如當前是10點,則time為600。如果一天中多個營業(yè)時間段,則類似處理。prepare_time是準備及配送時間,可以由商家根據(jù)實際情況提供。按照距離遠近排序:sort=distance(lng,lat,”120.234
21、”,”30.323”)/120.234、30.323為用戶坐標的經(jīng)緯度按照起送價由低到高排序:sort=+starting_fee按照評分由高到低排序:sort=-takeout_score搜索測試頁面效果:2.4.2 美食搜索這里增加的搜索詞,并且從上面效果圖可以看出,結(jié)果展示的時候區(qū)分了店鋪和商品兩項,所以查詢的時候需要分開做查詢:query=city:310010 AND category:美食 AND seller_name:外婆家/查詢類型為美食且城市編號為310010的門店query=city:310010 AND category:美食 AND title:外婆家/查詢類型為美食
22、且城市編號為310010的菜品filter=in_polygon(delivery_area,120.3452,30.32124)/需要在配送范圍之內(nèi)的,其中(120.3452,30.32124)為用戶坐標kvpairs= u_posx:120.234,u_posy:30.324/通過用戶位置獲取經(jīng)緯度坐標,并通過kvpairs中的u_posx、u_posy參數(shù)傳遞給formula用來計算用戶與商家的距離值sort=-RANKfirst_formula: static_bm25()*3+takeout_scoresecond_formula: 5*text_relevance(title)+1
23、0*gauss_decay(0,distance(lng,lat,u_posx,u_posy),5)+if(open_time0<=kvpairs_value(time,INT) and kvpairs_value(time,INT) < open_time1,3,0)+takeout_score/設(shè)計初衷見排序表達式部分的介紹,這里就不額外贅述了。搜索測試頁面效果如下:2.4.3 鮮花列表頁實現(xiàn)方式與美食類似,只不過修改下查詢query即可,這里不再重復(fù)介紹。query=city:'310010' AND category:'鮮花'2.4.4 搜索小結(jié)調(diào)試過程中會遇到一些報錯請,請根據(jù)錯誤碼查找文檔找到錯誤原因進行修改即可。測試過程需要根據(jù)實際情況對排序表達式、應(yīng)用結(jié)構(gòu)不斷進行調(diào)整,以便達到滿意的效果。另外,在使用中有很
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 事業(yè)單位哺乳假申請書
- 小學(xué)音樂五年級上冊教學(xué)工作總結(jié)8篇
- 白水泥工業(yè)的環(huán)保技術(shù)進步與市場響應(yīng)
- 入學(xué)資助金申請書范文
- 士官選取申請書
- 2024-2025學(xué)年高中政治第1單元第2課第2框價格變動的影響教案新人教版必修1
- 2024-2025學(xué)年高中地理課時作業(yè)10農(nóng)業(yè)區(qū)位因素與農(nóng)業(yè)地域類型一湘教版必修2
- 2024-2025學(xué)年高中物理第5章力與平衡第34節(jié)力的平衡平衡條件的應(yīng)用課時作業(yè)含解析魯科版必修1
- 2024-2025年高中語文第1單元1精神明亮的人教案粵教版必修1
- 2024-2025學(xué)年高中歷史專題五現(xiàn)代中國的文化與科技第3課科學(xué)技術(shù)的發(fā)展與成就講義人民版必修3
- 急性心梗的護理業(yè)務(wù)學(xué)習(xí)課件
- 導(dǎo)向標識系統(tǒng)設(shè)計(二)課件
- 聚焦:如何推進教育治理體系和治理能力現(xiàn)代化
- 化工儀表自動化【第四章】自動控制儀表
- 數(shù)據(jù)結(jié)構(gòu)教學(xué)課件:chapter8
- 安全生產(chǎn)十大法則及安全管理十大定律
- 化妝品批生產(chǎn)記錄
- Excel數(shù)據(jù)透視表培訓(xùn)PPT課件
- 數(shù)學(xué)八年級上浙教版3.2直棱柱的表面展開圖同步練習(xí)
- 化工車間布置原則
- 貨運中心裝卸業(yè)務(wù)外包(委外)詢價采購招投標書范本
評論
0/150
提交評論