0
對於我們基於RoR的電子商務網站,我們展示了產品的分頁搜索結果。即使是隨機的,這份清單也經常會有幾個同一品牌的產品聚集在一起。我們希望搜索結果「非常集中」,以便相同品牌的產品不會出現在彼此附近。例如,如果我擁有數千種屬於50個品牌的產品,並且該網頁上展示的產品少於50種,則不應在該網頁上爲每個品牌展示多個產品(或者最好是可配置的最大)。我將不得不維護某種「種子」值,以便在用戶逐頁前進時傳入,以便我可以重新創建搜索順序。分頁,隨機搜索結果,無結塊
我可以用什麼算法或策略來完成這個去塊/隨機結果?
您可以先挑選一個品牌(概率等於該品牌的產品數量除以產品總數),然後選擇該品牌的隨機產品?如果您跟蹤前幾頁的產品,則不需要種子。 –
是否有其他一些排序標準?這是否需要以某種方式與相關性,最新,最高評分等排序?如果是這樣的話,前十項應該全部來自一個上級供應商? – Speed8ump
@ Speed8ump - 這是一個很好的問題,但目前我們沒有使用任何排序的供應商評級,而選項搜索關鍵字是我們使用的搜索過濾器的唯一基於關聯的方面(其他所有內容都是布爾型的性質,它要麼符合條件,要麼不符合)。目前,分揀基於進入系統的進入日期,導致大量結塊。做一個純粹的隨機結果明顯減少了結塊,但它仍然發生。縱觀很多主要零售商,他們的搜索結果往往不會被品牌所籠罩。這就是我們要做的。 –