INNER CODE UNIT · Java
relevantDocuments
SeaseLtd/rated-ranking-evaluator · rre-core/src/main/java/io/sease/rre/core/Engine.java:419
public JsonNode relevantDocuments(final JsonNode relevantDocumentsDefiniton) {
if (relevantDocumentsDefiniton == null) return mapper.createArrayNode();
if (relevantDocumentsDefiniton.size() == 0) return relevantDocumentsDefiniton;
final boolean gainToArrayMode = relevantDocumentsDefiniton.fields().next().getValue().isArray();
if (gainToArrayMode) {
final ObjectNode relevantDocumentsContainer = mapper.createObjectNode();
relevantDocumentsDefiniton.fields()
.forEachRemaining(entry -> {
final int gain = Integer.parseInt(entry.getKey());
entry.getValue().iterator().forEachRemaining(node -> {
final ObjectNode doc = mapper.createObjectNode();
doc.put(Field.GAIN, gain);
relevantDocumentsContainer.replace(node.asText(), doc);
});
});
return relevantDocumentsContainer;
} else {