Toggle navigation
Toggle navigation
This project
Loading...
Sign in
yoho-search
/
yoho-search-service
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
hugufei
6 years ago
Commit
c2f2fa8bd22c9f7f5c83ae11541494330ba63232
1 parent
1fe09d1d
默认排序 使用 uv分值 和 相关性 做a/b测试
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
39 additions
and
9 deletions
service/src/main/java/com/yoho/search/common/utils/ABUserPartitionUtils.java
service/src/main/java/com/yoho/search/service/recall/beans/result/UserRecallResponseResultBuilder.java
service/src/main/java/com/yoho/search/common/utils/ABUserPartitionUtils.java
View file @
c2f2fa8
...
...
@@ -5,6 +5,9 @@ import org.apache.commons.lang.StringUtils;
public
class
ABUserPartitionUtils
{
public
static
boolean
isAUser
(
int
uid
)
{
if
(
uid
==
9848327
){
return
true
;
}
int
tail
=
uid
%
1024
;
return
tail
<
512
?
true
:
false
;
}
...
...
@@ -14,15 +17,24 @@ public class ABUserPartitionUtils {
return
false
;
}
int
tail
=
Math
.
abs
(
udid
.
hashCode
()
%
1024
);
System
.
out
.
println
(
tail
);
return
tail
<
512
?
true
:
false
;
}
public
static
boolean
isAUserComplete
(
int
uid
,
String
udid
)
{
if
(
uid
>
0
){
return
isAUser
(
uid
);
}
else
{
return
isAUser
(
udid
);
}
// if(uid>0){
// return isAUser(uid);
// }else{
// return isAUser(udid);
// }
return
isAUser
(
udid
);
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
"0227d385f4942cb81a8d5dcdb174808f"
.
hashCode
());
System
.
out
.
println
(
"02e90ef7a196dc4d183d61c6428bd083"
.
hashCode
());
System
.
out
.
println
(
isAUser
(
"0227d385f4942cb81a8d5dcdb174808f"
));
System
.
out
.
println
(
isAUser
(
"02e90ef7a196dc4d183d61c6428bd083"
));
}
}
...
...
service/src/main/java/com/yoho/search/service/recall/beans/result/UserRecallResponseResultBuilder.java
View file @
c2f2fa8
...
...
@@ -3,6 +3,8 @@ package com.yoho.search.service.recall.beans.result;
import
com.alibaba.fastjson.JSON
;
import
com.yoho.search.base.utils.SearchCollectionUtils
;
import
com.yoho.search.base.utils.Transfer
;
import
com.yoho.search.common.SearchDynamicConfigService
;
import
com.yoho.search.common.utils.ABUserPartitionUtils
;
import
com.yoho.search.core.personalized.models.PersonalizedSearch
;
import
com.yoho.search.core.personalized.models.SortPriceAreas
;
import
com.yoho.search.models.recall.*
;
...
...
@@ -38,6 +40,8 @@ public class UserRecallResponseResultBuilder {
private
RecallConfigService
recallConfigService
;
@Autowired
private
ProductListSortHelper
productListSortHelper
;
@Autowired
private
SearchDynamicConfigService
searchDynamicConfigService
;
/**
* 构造真实的UserRecallResponse
...
...
@@ -201,9 +205,23 @@ public class UserRecallResponseResultBuilder {
continue
;
}
// 3) 默认排序使用uvScore,关注排序使用向量关系
if
(
userRecallRequest
.
isDefaultOrder
()){
score
=
sknResult
.
getUvScore
();
}
else
{
if
(
userRecallRequest
.
isDefaultOrder
())
{
int
uid
=
userRecallRequest
.
getUid
();
String
udid
=
userRecallRequest
.
getUdid
();
if
(
ABUserPartitionUtils
.
isAUserComplete
(
uid
,
udid
)){
if
(
searchDynamicConfigService
.
isAStrategyOpen
())
{
score
=
sknResult
.
getUvScore
();
}
else
{
score
=
W2vFeatureCalculator
.
calProductFeatureFactor
(
userFeatureFactor
,
sknResult
.
getFactor
());
}
}
else
{
if
(
searchDynamicConfigService
.
isBStrategyOpen
())
{
score
=
W2vFeatureCalculator
.
calProductFeatureFactor
(
userFeatureFactor
,
sknResult
.
getFactor
());
}
else
{
score
=
sknResult
.
getUvScore
();
}
}
}
else
{
score
=
W2vFeatureCalculator
.
calProductFeatureFactor
(
userFeatureFactor
,
sknResult
.
getFactor
());
}
// 4)如果当前skn不是兜底召回的,则加分【将兜底和非兜底的拆分】
...
...
@@ -312,7 +330,7 @@ public class UserRecallResponseResultBuilder {
}
//8、灾备
if
(
CollectionUtils
.
isNotEmpty
(
sknResultList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
sknResultList
))
{
results
.
addAll
(
sknResultList
);
}
...
...
Please
register
or
login
to post a comment