1. 程式人生 > >電商專案中實現銷量,評價排序的思路

電商專案中實現銷量,評價排序的思路

在做電商專案的過程中,搜尋商品的頁面都會有一個排序功能,以便於為使用者提供更好的購物體驗:

其中因為銷量,評價這些是實時的,像一些大型的電商平臺每秒都會產生很多的銷量和評價,這就導致我們需要不斷的通過solr搜尋來實時的實現,同時這樣會為solr帶了很大的壓力。這裡我想到的解決方案是:在程式中設定一個solr的更新時間,這樣就不需要實時的查詢,減緩solr的壓力,這裡為了實現這樣的功能,用到了Spring Task的技術,即任務排程,設定solr更新銷量的程式執行時間,一般為一天就可以;同時,既然是銷量排行,有些火爆的商品會一直佔據銷量榜的位置,這就導致後續我們上架一些新的商品,新的商品的銷量就很難超過這些之前火爆的商品,因此就不會出現在我們的銷量排行榜前面,這就會影響新上架的商品的銷量,所以我們在這裡最好設定一下這些賣的商品的週期,比如一週之內、一月之內等等,不然我們可想而知,幾年前就賣的火爆的產品銷量肯定高的離譜,新上架的商品卻沒有很高的銷量;

對於評價排行,按照業務場景來說,不能按照評價的數量來排序,因為評論中有好評中評差評,如果有一家賣的商品不是特別好,從而導致很多差評,按照營銷思維來說平臺是不會把差評數量多的排在排行榜前面的,所以這裡在設計的時候,對好評中評差評分別設定一個加權數,例如:好評(3)中評(1)差評(-3)加權數根據實際情況來定,這樣在計算數量的時候就可以將它們加起來之後再進行排序,算是對評論綜合一下進行排序;這裡我們同樣也可以用到Spring Task技術來設定程式的更新時間,更新評論的數量;

以上的方式,是個人初次接觸電商專案,實現這個功能的一些思路,大家如果有更好的思路或者技術,歡迎大家評論指導 ~~