示例#1
0
 private List<Result> getQuerySimilarity(Method method, Document query) {
   List<Result> resultList = new ArrayList<>();
   List<Result> list = new ArrayList<>();
   for (Document document : DatabaseCollection.getDocumentList()) {
     double similarity = document.similarity(query, method);
     if (similarity != -1) {
       list.add(new Result(document, similarity));
     }
   }
   list.stream()
       .sorted(
           (o1, o2) -> {
             double diff = o1.getSimilarity() - o2.getSimilarity();
             if (diff < 0) {
               return 1;
             } else if (diff > 0) {
               return -1;
             }
             return 0;
           })
       .limit(5)
       .forEach(resultList::add);
   return resultList;
 }