|
@@ -127,7 +127,6 @@ public class BaseRecaller<Video> {
|
|
try {
|
|
try {
|
|
// 格式
|
|
// 格式
|
|
queues = queueProvider.loads(Lists.newArrayList(queueNames), QUEUE_LOAD_TIMEOUT, TimeUnit.MILLISECONDS);
|
|
queues = queueProvider.loads(Lists.newArrayList(queueNames), QUEUE_LOAD_TIMEOUT, TimeUnit.MILLISECONDS);
|
|
- LOGGER.info("load queue success [{}]", queues.size());
|
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
LOGGER.error("load queue occur error [{}]", ExceptionUtils.getFullStackTrace(e));
|
|
LOGGER.error("load queue occur error [{}]", ExceptionUtils.getFullStackTrace(e));
|
|
}
|
|
}
|
|
@@ -187,21 +186,15 @@ public class BaseRecaller<Video> {
|
|
LOGGER.error("[fetch queue error] ex {}", ExceptionUtils.getStackTrace(e));
|
|
LOGGER.error("[fetch queue error] ex {}", ExceptionUtils.getStackTrace(e));
|
|
}
|
|
}
|
|
if (result != null) {
|
|
if (result != null) {
|
|
-// LOGGER.info("fetch queue success [{}]", JSONObject.toJSONString(result));
|
|
|
|
candidateQueueMap.putAll(result);
|
|
candidateQueueMap.putAll(result);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- LOGGER.info("traceId: [{}], cost = {}, recall candidateQueueMap: [{}]", requestData.getRequestId(),
|
|
|
|
- stopwatch.elapsed().toMillis(), JSONObject.toJSONString(candidateQueueMap));
|
|
|
|
-
|
|
|
|
stopwatch.reset().start();
|
|
stopwatch.reset().start();
|
|
List<RankItem> result = convertToRankItem(candidateQueueMap, requestData, user);
|
|
List<RankItem> result = convertToRankItem(candidateQueueMap, requestData, user);
|
|
|
|
|
|
- LOGGER.info("traceId: [{}], cost = {}, convertToRankItem result: [{}]", requestData.getRequestId(),
|
|
|
|
- stopwatch.elapsed().toMillis(), JSONObject.toJSONString(result));
|
|
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -215,17 +208,12 @@ public class BaseRecaller<Video> {
|
|
|
|
|
|
final FilterPipeline<Video> recallFilter = new FilterPipeline<>(filterConfig, requestData, user);
|
|
final FilterPipeline<Video> recallFilter = new FilterPipeline<>(filterConfig, requestData, user);
|
|
|
|
|
|
- LOGGER.info("traceId: [{}], recallFilter: [{}]", requestData.getRequestId(),
|
|
|
|
- JSONObject.toJSONString(recallFilter));
|
|
|
|
-
|
|
|
|
final List<Callable<List<RankItem>>> callables = new ArrayList<>();
|
|
final List<Callable<List<RankItem>>> callables = new ArrayList<>();
|
|
for (final Map.Entry<Candidate, Queue<Video>> entry : candidateQueueMap.entrySet()) {
|
|
for (final Map.Entry<Candidate, Queue<Video>> entry : candidateQueueMap.entrySet()) {
|
|
callables.add(() -> {
|
|
callables.add(() -> {
|
|
List<RankItem> candidateHits = new ArrayList<>();
|
|
List<RankItem> candidateHits = new ArrayList<>();
|
|
final Candidate candidate = entry.getKey();
|
|
final Candidate candidate = entry.getKey();
|
|
List<Entry<Video>> entriesValue = CommonCollectionUtils.iterableToList(entry.getValue());
|
|
List<Entry<Video>> entriesValue = CommonCollectionUtils.iterableToList(entry.getValue());
|
|
- LOGGER.info("traceId: [{}], entry.getValue: [{}], entriesValue: [{}]", requestData.getRequestId(),
|
|
|
|
- JSONObject.toJSONString(entry.getValue()), JSONObject.toJSONString(entriesValue));
|
|
|
|
try {
|
|
try {
|
|
final Map<Video, Entry<Video>> entryMap = new HashMap<>();
|
|
final Map<Video, Entry<Video>> entryMap = new HashMap<>();
|
|
List<Video> entriesList = entriesValue.stream().map(e -> {
|
|
List<Video> entriesList = entriesValue.stream().map(e -> {
|
|
@@ -233,8 +221,6 @@ public class BaseRecaller<Video> {
|
|
return e.item;
|
|
return e.item;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
List<Video> entriesAfterFilter = recallFilter.doFilter(candidate, entriesList);
|
|
List<Video> entriesAfterFilter = recallFilter.doFilter(candidate, entriesList);
|
|
- LOGGER.info("traceId: [{}] entriesAfterFilter: [{}]",
|
|
|
|
- requestData.getRequestId(), JSONObject.toJSONString(entriesAfterFilter));
|
|
|
|
// 1. filter TODO 待后续增加自定义filter
|
|
// 1. filter TODO 待后续增加自定义filter
|
|
if (CollectionUtils.isNotEmpty(entriesAfterFilter)) {
|
|
if (CollectionUtils.isNotEmpty(entriesAfterFilter)) {
|
|
List<Entry<Video>> entries = entriesAfterFilter.stream()
|
|
List<Entry<Video>> entries = entriesAfterFilter.stream()
|
|
@@ -245,9 +231,6 @@ public class BaseRecaller<Video> {
|
|
candidateHits.addAll(toHits(entries, candidate));
|
|
candidateHits.addAll(toHits(entries, candidate));
|
|
}
|
|
}
|
|
|
|
|
|
- // debug log for tracing
|
|
|
|
- LOGGER.info("recalled candidate [{}], queue length [{}], expected [{}], hit [{}]",
|
|
|
|
- candidate.getCandidateKey(), entry.getValue().size(), candidate.getCandidateNum(), candidateHits.size());
|
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
LOGGER.error("recall filter queue occur error, queue [{}], error: [{}]", candidate.toString(), ExceptionUtils.getFullStackTrace(e));
|
|
LOGGER.error("recall filter queue occur error, queue [{}], error: [{}]", candidate.toString(), ExceptionUtils.getFullStackTrace(e));
|
|
}
|
|
}
|