if (null == score.sourceWeights) { // Easy case
manualWeights.add(FilterBuilders.termsFilter(DocumentPojo.mediaType_, invTypeEl.getValue().toArray()), invTypeEl.getKey());
}
else { // Need to filter out sources they are matched with higher prio
BoolFilterBuilder typesNotSources = FilterBuilders.boolFilter();
typesNotSources = typesNotSources.must(FilterBuilders.termsFilter(DocumentPojo.mediaType_, invTypeEl.getValue().toArray())).
mustNot(FilterBuilders.termsFilter(DocumentPojo.sourceKey_, score.sourceWeights.keySet().toArray()));
manualWeights.add(typesNotSources, invTypeEl.getKey());
}
}