[請益] Elastic Search結果慘烈怎麼修
小弟是網路公司的PM,負責一個跟景點圖資有關的產品,目前服務內有個進50萬的POI資料庫,但是讓用戶搜尋時,跑出來的結果非常糟糕,而且負責此項目的同事說能優化的都做了,已經無法再調整。想問問看版上的大神能不能開示怎麼處理比較好
被檢索的欄位
poiNameCN:晴空塔
poiNameEN:Tokyo Skytree
nickname1:天空樹
nickname2:新東京鐵塔
adminDivisionCN:日本/東京都/東京都心/墨田區
adminDivisionEN:Japan/Tokyo/Special wards/Sumida
原本理想的情況是,不管用戶是輸入景點的中文或英文名稱、或是輸入別名,或是輸入名稱加上行政區劃內的某一層(例如輸入:東京 天空樹),都可以用這些欄位來找出關連,可是實測之後的結果卻很糟
想問問有沒有大神有這種讓elsatic search同時比同一個物件的多個欄位,再排關聯度的經驗,能給小PM一點建議,讓我可以再去爭取重開這個優化的需求
感謝!
--
50萬筆聽起來沒有很大(? 你們是用like去查嗎
是同行嗎 xd https://techblog.funliday.com 裡面我有寫一
些可以參考,但都是舊版的方式了,有空再寫新版的方式
怎麼個糟法?連舉例都不會不要當pm害人好嗎 另外官
方不是有sup嗎?官方對於這case給的回應是什麼
發現k旺?
我認為B0988698088 應該有SOLUTION的,出一篇吧。
你要先釐清是 recall 還是 ranking 問題。換句話說是搜尋
結果沒有命中還是單純排序太後面。此外對 input 拆詞後是
採用什麼樣語法搜尋,以及需要檢查拆詞後的結果符不符合
預期。然後同義詞機制要重新設計,通常是在 query time
先展開比較單純好維護。然後地點看你是想要真的依照經緯
度找還是單純用關鍵字,演算法差很多
如果是你這需求,從 schema design 就錯了,不如說
說你們做了什麼優化好了XD
排關聯度就單純很多,同常就命中的詞 + BM25 + 設欄位權
重。雖然進階的應該要用使用者 log 去用 ML 做 ranking,
不過看起來你們的進度連初階 elasticsearch 功能都還沒正
確使用,也就是我前面說的你們可能連 recall 都不好
其次,你們的需求&量級用到 elasticsearch 感覺有
點殺雞用牛刀了,可以試試 Meilisearch 這種小型的
,你們應該會快樂很多,也不用懂那麼多
其實你可以善用 chatGPT 應該可以有簡單的理解。也可以嘗
試自己架 elasticsearch,應該還不需要寫到 code,除了匯
大量資料以外
這是pm責任嗎?
連問題都說不清楚 這PM
看你說明是想要用天空樹也搜尋到晴空塔之類的,那就是同義
詞
然後再來針對搜尋的關鍵字去做中文、英文分詞,資料入庫時
就會去做索引,再加上個英文大小寫或是簡繁的 filter,後
面再記錄一下搜尋熱門關鍵字,去維護 dict 或是 synonym
這問題有說不好嗎?好奇
感覺也沒到不好 就不足以判斷問題在哪裡吧
用json dsl組full text search理論上會得到你要的
東西才對,如果還是不行,那就是分詞問題,比較不好
處理喔
他問題不是同義詞,而是搜尋的結果差強人意
這東西很主觀
這不太適合新手寫..
你家工程師該煩惱的事丟給你在煩惱快跑ㄅ
先定義一個分數來表示「糟糕程度」再來根據分數做調整
這個分數要跟你們商業上的需求一致
這發文,大概連怎樣評價搜尋引擎的指標都不懂吧,只靠感覺
。做PM啊,先去了解一下怎麼樣量化自己產品的品質水準。1.
先學搜尋引擎常見評價指標。2. 根據自己產品,選擇適合的
指標(別硬抄網路上的)3. 設計一個上線前,必需測過的多個
測試案例。評價測試案例得到的分數。4.針對沒過的案例,再
來與技術人員討論,這個案例怎麼改善。沒這流程,只會造成
搜尋引擎改了A,卻產生新的Bug或副作用而已。
不要靠"感覺"或"單一case"來決定好壞。硬是解決了一個case
,只常會造成其他case變差。
推樓上,做任何事情前最重要的就是先把 metric 訂好
實作結果與需求不符,怎不直接打回去重弄就好了?
能優化的都做了 => 結果很爛 = 沒做
....我覺得語氣沒不好。大家壓力好大...
遇到鳥PM大家火氣都很大
先確認一下,是 ElasticSearch 7 還是 8 呢?
expalin看看分數吧,搞不好你們有動到排序他會完全不吃scor
ES...好久沒聽到這個詞了 都是說OS惹拔
好奇你的糟是指搜尋速度慢 還是達不到想要的效果
嘻嘻,終於有讀書人的問題了,不是碼工的問題了。
6
原文的推文大概都有提到了做法,但已經在這塊花了不少時間的我,也來分享一下 1. 依照欄位做多欄位分語系 elasticsearch 每一個欄位都可以塞 array 進去,所以你的 nickname 可以分語系直接 塞進去,poiNameCN: ["晴空塔", "天空樹", "新東京鐵塔"] 2. 分語系記得要用不同的 analyzer24
推文跟 kewang 已經有很多資訊。我用有限的經驗回答你的問題,有些跟前人說的重複 分四部分:ES 工程、metrics 衡量、生態系、以及產品地位。 雖然第一個可能才是你想看的,但「越後面的才越重要」,讀的時候請記在心 ## Elasticsearch 技術 * 多看官方文件,例如6
我覺得這是常見的問錯問題的模式。沒清楚說出想要的功能,就直接問程式要如何改才能改進。 其實要先回到想要的結果是什麼?為什麼無法達到?因為可能ES根本就不是適合這功能的產品,再怎麼調也只是terrible to very bad。 對岸在地理NLP的方面有很多的研究,也有很多的分享,可以先從這裡看。 美團用bert的技術
11
Re: [閒聊] FTX 索賠網站已上線 常見問題整理 (07/29)這邊分享一些 FTX 常見問題 9月29日 截止日期是提出索賠的期限 KYC 可以稍後再完成 這些在官方常見問題就有寫9
[問卦] 在東京自由行一天應該去哪裡?過一陣子我們家因為家務會有一個去日本的行程,會在東京停留兩天的概念。 我現在正在安排到時候我的自由行行程,受限於時間與距離,可能就規劃在 涉谷、千代田跟台東這三個區作為移動範圍。 說道東京的觀光景點,我能想到的就是東京鐵塔跟天空樹,但這兩個感覺已經不潮了 ig打卡一點都沒感覺。8
Re: [討論] Youtube Premium印度跨區經驗分享借串問 剛剛買了印度的youtube會員 但並沒有出現要我輸入地址的欄位 只有下拉式城市選單而已 是近期有改過介面嗎?8
[問題] 伊予灘物語觀光列車訂票問題請問有人在2023年訂過伊予灘物語車票嗎? 他原本的外國人網站已經失效 無法使用 我是想預定7/8的票 從 進去後5
Re: [閒聊] 現在lol是不是都會跳窗啊?先說我不懂原理只知道現象 大家Win10, 11應該多少都在左上角看過注音吧? 這看程式,有的程式只要 1.不在輸入文字欄位5
[問題] 訂單姓名輸入問題訂單結帳時名字欄位一直輸入有問題 是因為名字有特殊字嗎? 有辦法可以解決嗎?還是只能請別人代買? --2
[滑鼠] 滑鼠容易進入輸入畫面大家都知道,開啟excel檔案時,若是在某一欄位雙擊滑鼠左鍵,就會進入那個欄位的 輸入游標,現在我開啟excel檔案後,不管滑鼠點到哪裡,就算我沒有雙擊滑鼠左鍵 ,都會進入那個欄位的輸入畫面,換了一個滑鼠之後這種問題依然沒有改善,想請問 這可能是電腦的哪個部份出了問題 --1
[問題] iphone 11 pro max ios14.3 輸入帳密lagios14.3 在有些網站輸入帳密欄位時 輸入完帳號 按下一欄位就會lag卡住 要等很久引號才跳過去可以輸入1
[求救] 香草的行列輸入法在firefox無法打中文想請問大家: 我目前是用Macbook air M1, Big Sur 11.1 firefox 86.0.1「在頁面中搜尋」的欄位(command + F), 使用OpenVanilla的行列輸入法,無法輸入中文,打出來會變英文 (firefox的網址列可以正常使用)1
[問題] DS-160無法輸入hyphen入題,小弟我下午在填答DS-160時,輸入我的given name後,系統顯示該欄位不得輸入hy phen。但系統也提醒輸入的姓名必須與護照姓名相同。所以想問一下各位大大們都如何處 理這個問題? --