...
|
...
|
@@ -63,7 +63,7 @@ public class SocialUserService extends BaseService { |
|
|
*/
|
|
|
private SearchResult matchEqually(SocialUserRequest request,SearchParam searchParam){
|
|
|
// 构建filter ==> s_nick_name==query_name
|
|
|
searchParam.setFilter(QueryBuilders.termQuery(ISearchConstans.SOCIAL_USER_S_NICK_NAME, request.getQueryName()));
|
|
|
searchParam.setFilter(QueryBuilders.termQuery(ISearchConstans.SOCIAL_USER_S_NICK_NAME+"."+ISearchConstans.SOCIAL_USER_S_NICK_NAME_NO_ANALYZER, request.getQueryName()));
|
|
|
// 构建query ==> matchAll
|
|
|
searchParam.setQuery(QueryBuilders.matchAllQuery());
|
|
|
// 指定excludes字段
|
...
|
...
|
@@ -83,7 +83,7 @@ public class SocialUserService extends BaseService { |
|
|
// 构建filter ==> s_uid==current_uid
|
|
|
searchParam.setFilter(QueryBuilders.termQuery(ISearchConstans.SOCIAL_USER_S_UID, request.getUid()));
|
|
|
// 构建query ==> s_nick_name match query_name TODO matchQuery是模糊匹配还是精确匹配
|
|
|
searchParam.setQuery(QueryBuilders.matchQuery(ISearchConstans.SOCIAL_USER_S_NICK_NAME, request.getQueryName()));
|
|
|
searchParam.setQuery(QueryBuilders.matchQuery(ISearchConstans.SOCIAL_USER_S_NICK_NAME+"."+ISearchConstans.SOCIAL_USER_S_NICK_NAME_IK, request.getQueryName()));
|
|
|
// 指定excludes字段
|
|
|
searchParam.setSourceExcludes(SOCIAL_USER_S_EXCLUDES);
|
|
|
return searchCommonService.doSearch(SOCIAL_USER_INDEX_NAME, searchParam);
|
...
|
...
|
@@ -102,8 +102,8 @@ public class SocialUserService extends BaseService { |
|
|
// 构建filter ==> s_uid==current_uid
|
|
|
searchParam.setFilter(QueryBuilders.termQuery(ISearchConstans.SOCIAL_USER_S_UID, request.getUid()));
|
|
|
// 构造query ==> t_nick_name match query_name
|
|
|
QueryBuilder termQuery = QueryBuilders.termQuery(ISearchConstans.SOCIAL_USER_S_FOLLOWING+"."+ISearchConstans.SOCIAL_USER_T_NICK_NAME, request.getQueryName());
|
|
|
QueryBuilder nestedQuery = QueryBuilders.nestedQuery(ISearchConstans.SOCIAL_USER_S_FOLLOWING,termQuery)
|
|
|
QueryBuilder matchQuery = QueryBuilders.matchQuery(ISearchConstans.SOCIAL_USER_S_FOLLOWING+"."+ISearchConstans.SOCIAL_USER_T_NICK_NAME+"."+ISearchConstans.SOCIAL_USER_T_NICK_NAME_IK, request.getQueryName());
|
|
|
QueryBuilder nestedQuery = QueryBuilders.nestedQuery(ISearchConstans.SOCIAL_USER_S_FOLLOWING,matchQuery)
|
|
|
.innerHit(new QueryInnerHitBuilder());
|
|
|
searchParam.setQuery(nestedQuery);
|
|
|
searchParam.setInnerHits(true);
|
...
|
...
|
@@ -137,7 +137,7 @@ public class SocialUserService extends BaseService { |
|
|
boolFilter.mustNot(QueryBuilders.termQuery(ISearchConstans.SOCIAL_USER_S_UID, request.getUid()));
|
|
|
searchParam.setFilter(boolFilter);
|
|
|
// 构建query ==> s_nick_name match query_name
|
|
|
searchParam.setQuery(QueryBuilders.matchQuery(ISearchConstans.SOCIAL_USER_S_NICK_NAME, request.getQueryName()));
|
|
|
searchParam.setQuery(QueryBuilders.matchQuery(ISearchConstans.SOCIAL_USER_S_NICK_NAME+"."+ISearchConstans.SOCIAL_USER_S_NICK_NAME_IK, request.getQueryName()));
|
|
|
// 构建order by ==> s_talent desc,s_followers_number desc
|
|
|
LinkedHashMap<String, String> sortFields = new LinkedHashMap<>();
|
|
|
sortFields.put(ISearchConstans.SOCIAL_USER_S_TALENT, SortOrder.DESC.toString());
|
...
|
...
|
@@ -173,7 +173,7 @@ public class SocialUserService extends BaseService { |
|
|
|
|
|
private List<SocialUserResponse.User> transfer(int rule, List<Map<String, Object>> resultList){
|
|
|
List<SocialUserResponse.User> userList = new ArrayList<>();
|
|
|
LOGGER.info("rule={},resultList={}",rule,resultList);
|
|
|
LOGGER.debug("rule={},resultList={}",rule,resultList);
|
|
|
switch (rule){
|
|
|
case RULE_MATCH_EQUALLY:
|
|
|
case RULE_MATCH_MYSELF:
|
...
|
...
|
@@ -290,7 +290,7 @@ public class SocialUserService extends BaseService { |
|
|
response.setRule(rule);
|
|
|
response.setPage(page);
|
|
|
long end = System.currentTimeMillis();
|
|
|
LOGGER.info("[model=SocialUserService][func=search][request={}][end={}][cost={}ms]", request, end, end - begin);
|
|
|
LOGGER.info("[model=SocialUserService][func=search][request={}][rule={}][page={}][end={}][cost={}ms]", request,rule,page,end,end - begin);
|
|
|
return response;
|
|
|
}
|
|
|
|
...
|
...
|
|