/** * {@inheritDoc} */ public FeedbackDocument[] getFeedbackDocuments(Request request) { // get docids of the feedback documents String queryid = request.getQueryID(); TIntByteHashMap list = queryidRelDocumentMap.get(queryid); //deal with undefined case if (list == null) return null; //deal with empty case if (list.size() == 0) return new FeedbackDocument[0]; final List<FeedbackDocument> rtrList = new ArrayList<FeedbackDocument>(list.size()); for(int id: list.keys()) { FeedbackDocument doc = new FeedbackDocument(); doc.docid = id; doc.score = -1; doc.rank = -1; doc.relevance = list.get(id); rtrList.add(doc); } logger.info("Found "+(rtrList.size())+" feedback documents for query "+request.getQueryID()); return rtrList.toArray(new FeedbackDocument[0]); }
/** * {@inheritDoc} */ public FeedbackDocument[] getFeedbackDocuments(Request request) { // get docids of the feedback documents String queryid = request.getQueryID(); TIntByteHashMap list = queryidRelDocumentMap.get(queryid); //deal with undefined case if (list == null) return null; //deal with empty case if (list.size() == 0) return new FeedbackDocument[0]; final List<FeedbackDocument> rtrList = new ArrayList<FeedbackDocument>(list.size()); for(int id: list.keys()) { FeedbackDocument doc = new FeedbackDocument(); doc.docid = id; doc.score = -1; doc.rank = -1; doc.relevance = list.get(id); rtrList.add(doc); } logger.info("Found "+(rtrList.size())+" feedback documents for query "+request.getQueryID()); return rtrList.toArray(new FeedbackDocument[0]); }
/** * {@inheritDoc} */ public FeedbackDocument[] getFeedbackDocuments(Request request) { final ResultSet rs = request.getResultSet(); if (rs.getResultSize() == 0) return null; final int[] docIDs = rs.getDocids(); final double[] scores = rs.getScores(); // if the number of retrieved documents is lower than the parameter // EXPANSION_DOCUMENTS, reduce the number of documents for expansion // to the number of retrieved documents. final int effDocuments = Math.min(docIDs.length, ApplicationSetup.EXPANSION_DOCUMENTS); final FeedbackDocument[] rtr = new FeedbackDocument[effDocuments]; for (int i = 0; i < effDocuments; i++) { rtr[i] = new FeedbackDocument(); rtr[i].rank = i; rtr[i].score = scores[i]; rtr[i].docid = docIDs[i]; } return rtr; } }
/** * {@inheritDoc} */ public FeedbackDocument[] getFeedbackDocuments(Request request) { final ResultSet rs = request.getResultSet(); if (rs.getResultSize() == 0) return null; final int[] docIDs = rs.getDocids(); final double[] scores = rs.getScores(); // if the number of retrieved documents is lower than the parameter // EXPANSION_DOCUMENTS, reduce the number of documents for expansion // to the number of retrieved documents. final int effDocuments = Math.min(docIDs.length, ApplicationSetup.EXPANSION_DOCUMENTS); final FeedbackDocument[] rtr = new FeedbackDocument[effDocuments]; for (int i = 0; i < effDocuments; i++) { rtr[i] = new FeedbackDocument(); rtr[i].rank = i; rtr[i].score = scores[i]; rtr[i].docid = docIDs[i]; } return rtr; } }