Re: [請益] Elastic Search結果慘烈怎麼修
※ 引述《DOC (鍛鍊的還不夠)》之銘言:
: 小弟是網路公司的PM,負責一個跟景點圖資有關的產品,目前服務內有個進50萬的POI資: 料庫,但是讓用戶搜尋時,跑出來的結果非常糟糕,而且負責此項目的同事說能優化的都: 做了,已經無法再調整。想問問看版上的大神能不能開示怎麼處理比較好
: 被檢索的欄位
: poiNameCN:晴空塔
: poiNameEN:Tokyo Skytree
: nickname1:天空樹
: nickname2:新東京鐵塔
: adminDivisionCN:日本/東京都/東京都心/墨田區
: adminDivisionEN:Japan/Tokyo/Special wards/Sumida
: 原本理想的情況是,不管用戶是輸入景點的中文或英文名稱、或是輸入別名,或是輸入名: 稱加上行政區劃內的某一層(例如輸入:東京 天空樹),都可以用這些欄位來找出關連,: 可是實測之後的結果卻很糟
: 想問問有沒有大神有這種讓elsatic search同時比同一個物件的多個欄位,再排關聯度的: 經驗,能給小PM一點建議,讓我可以再去爭取重開這個優化的需求
: 感謝!
原文的推文大概都有提到了做法,但已經在這塊花了不少時間的我,也來分享一下
1. 依照欄位做多欄位分語系
elasticsearch 每一個欄位都可以塞 array 進去,所以你的 nickname 可以分語系直接
塞進去,poiNameCN: ["晴空塔", "天空樹", "新東京鐵塔"]
2. 分語系記得要用不同的 analyzer
CN 就用 ik, jieba, blahblah 之類的,EN 就用 standard 或用一堆 filter 串起來
無論是哪一種,記得都要用 analyze 測試結果,然後再加 filter 去處理
3. city 可以另外塞 index
因為「東京」、「新宿」也是一個 city,這個必須要能做分詞
你現在看起來就是塞在同一個欄位 array?如果是塞成 array 的話也應該要正常才對
「猜出正確的 city」其實蠻難的,要先了解你們自己產品的 UX,再來決定如何做
4. 要不要直接串我們家的 API 啊?
不確定是不是你有少列一些東西,但看起來你們家工程師好像連 elasticsearch 的基本
資料儲存方式都不太理解,需要補充蠻多知識的。
如果要串我們家 API 的話可以直接私訊我,現在已經改版到第三版了。
要從頭到尾做出一套實在是很花時間,要先充分理解使用者行為,然後一步一步演進。
從 POIBank v1 出來到現在已經過 5 年了,去年底已經改版到 v3,當然還是很多問題要
處理,但比 v1 好太多了。
剩下有空再寫文章分享更細部的東西好了。
--
good ,難得正常的技術討論文章
坑都挖好了,要跳還是要走舖好的.....
技術推
善良推
提供API務實推
支持2 不同語系一定要分開 Data structure也要分開
居然是k旺哥
10
首Po小弟是網路公司的PM,負責一個跟景點圖資有關的產品,目前服務內有個進50萬的POI資 料庫,但是讓用戶搜尋時,跑出來的結果非常糟糕,而且負責此項目的同事說能優化的都 做了,已經無法再調整。想問問看版上的大神能不能開示怎麼處理比較好 被檢索的欄位 poiNameCN:晴空塔24
推文跟 kewang 已經有很多資訊。我用有限的經驗回答你的問題,有些跟前人說的重複 分四部分:ES 工程、metrics 衡量、生態系、以及產品地位。 雖然第一個可能才是你想看的,但「越後面的才越重要」,讀的時候請記在心 ## Elasticsearch 技術 * 多看官方文件,例如6
我覺得這是常見的問錯問題的模式。沒清楚說出想要的功能,就直接問程式要如何改才能改進。 其實要先回到想要的結果是什麼?為什麼無法達到?因為可能ES根本就不是適合這功能的產品,再怎麼調也只是terrible to very bad。 對岸在地理NLP的方面有很多的研究,也有很多的分享,可以先從這裡看。 美團用bert的技術
80
[情報]「Pokémon GO City Safari」台南「Pokémon GO City Safari」即將來到台灣台南! 「Pokémon GO City Safari」即將在台灣時間2024年3月9日(星期六)~3月10日(星期天 )在台灣台南舉辦!在城市內展開冒險,發現熱情洋溢的故事、新朋友和讓人興奮的寶可夢 ,全都在台南等著你!45
Re: [問題] 繁體區不能預設簡體>>>英文嗎因為後台設計的時候都不會想到要這麼彈性: "每個欄位都能指定我不要新增一個內容 自動/使用者能指定 參考另一個語系" 先舉我看過的後台為例子 以歷史悠久蘋果開發者的後台來說 開發者會設定一個主要語言46
Re: [閒聊] 現在橫空出世的NPUnpu/matrix/tensor其實不能增加傳統的3d性能。增加的是dlss/ray tracing的性能。 但這是個好問題,現在的情況,npu(matrix)如果併入gpu或cpu其實是更好的選擇。 : 2. NPU 能執行通用計算嗎? 如果可以, NPU 只是神經網路運算特化 : 的 GPU? npu是matrix(systolic array)特異化的超簡易cpu。不適合通用計算29
[心得] 圖解C語言 Variable x Array x Pointer影片連結: 影片封面: 這部影片幫大家了解C語言中,Variable x Array x Pointer 之間資料結構的特點與差異 在講解中,我們將能了解這三者在記憶體中,彼此間內容儲存與運作模式的不同處。 主要重點:13
[心得] 為什麼要學 GraphQL?來聊個簡單的議題? 『為什麼要學 GraphQL?』 部落格好讀版: 身為網站工程師,您不能不知道什麼是 GraphQL,這是一個前端跟後端溝通的 API Query 語法,大幅改善了前後端的合作模式,這篇會跟大家介紹為什麼麼要學 GraphQL, 以及整理出三大 GraphQL 優勢,讓大家了解跟傳統 Restful API 有什麼不同。當然不是16
[請益] 欄位或是變數改名這邊想請問各位前輩系統維護上常常遇到的一個問題 就是程式中的變數或是資料表欄位命名的"變更" 我不確定是不是一開始我的設計的想法就錯了 通常我在設計時,會將使用者的操作"畫面"與系統中的命名盡量保持一致, 討論起來比較有共通的語言,尤其是在一些專有名詞的欄位命名上。13
[請益] Database String Array Type各位大大好 小弟是一間小公司裡 負責部分核心業務的軟體工程師 為了日益多樣的客群,被安排要規劃新的設計 程式語言使用的是Java,資料庫是Postgres12
[Pad ] ARTISAN 劍匠 官網訂購心得原本就想發這篇文但一直好懶 剛好看到有人再問 就想說有個契機 發一下好了 很久以前就久仰劍匠大名 也得知國內有硬派代理 但因為樣式種類繁多 不瞭解其特性 就一直沒有入手 直到朋友PO了這個給我看- 回一下 nodejs 伺服器相關 (不只維運), 個人覺得好用的有 pm2 方便的 nodejs 運行工具, 可簡單的做到開機自動啟動, cluster, 掛掉自動重啟等等 supertest / swagger-ui-express / express-oas-generator