private static final String GROUP_BY_FIELD = GroupByTaxonClassBridge.GROUPBY_TAXON_FIELD;
+ public final static String ID_FIELD = "id";
+
public static final Logger logger = Logger.getLogger(LuceneSearch.class);
protected Session session;
groupsResult = new TopGroups(groupsResult, c3.getGroupCount());
return groupsResult;
-
-
- //TODO when switched to Lucene 3.x which is included in hibernate 4.x
- // use TopDocCollector.topDocs(int start, int howMany);
- // since this method might be more memory save than our own implementation
- //
- // ALSO READ http://dev.e-taxonomy.eu/trac/ticket/3118 !!!
- //
-// TopDocs topDocs = hitCollector.topDocs();
-// ScoreDoc[] scoreDocs = topDocs.scoreDocs;
-
-// int docsAvailableInPage = Math.min(scoreDocs.length - offset, pageSize);
-// logger.debug("docsAvailableInPage:" + docsAvailableInPage);
-//
-// ScoreDoc[] pagedDocs = new ScoreDoc[docsAvailableInPage];
-// for(int i = 0; i < docsAvailableInPage; i++){
-// pagedDocs[i] = scoreDocs[offset + i];
-// }
-// TopDocs pagedTopDocs = new TopDocs(topDocs.totalHits, pagedDocs, topDocs.getMaxScore());
- //
- /////////////////////////////////////////////
-
-// return pagedTopDocs;
}
/**
private float maxScore = 0;
- //FIXME move to somewhere else
- private final String ID_FIELD = "id";
/**
* key will be a combination of DocumentBuilder.CLASS_FIELDNAME and id field: ID_FIELD
this.fieldHighlightMap = fieldHighlightMap;
}
- /**
- * @param doc
- * @param entity
- */
- public SearchResult(Document doc) {
- addDoc(doc);
- }
-
public SearchResult() {
}
public void addDoc(Document doc) {
- String key = doc.getValues(DocumentBuilder.CLASS_FIELDNAME)[0] + "." + doc.getValues(ID_FIELD)[0];
+ String key = doc.getValues(DocumentBuilder.CLASS_FIELDNAME)[0] + "." + doc.getValues(LuceneSearch.ID_FIELD)[0];
this.docs.put(key, doc);
}