Exemple #1
0
 private void calculateRelevance(
     List<Result> resultList, Document query, double alfa, double beta, double gama) {
   List<Document> goodDocuments = new ArrayList<>();
   List<Document> badDocuments = new ArrayList<>();
   for (Result result : resultList) {
     if (result.isMarkedAsGood()) {
       goodDocuments.add(result.getDocument());
     } else {
       badDocuments.add(result.getDocument());
     }
   }
   for (Term term : DatabaseCollection.getTermMap().values()) {
     double relevance =
         alfa * query.getTermRelevance(term)
             + (avg(term, goodDocuments)) * beta
             - avg(term, badDocuments) * gama;
     query.setTermRelevance(term, relevance);
   }
 }