// create query
QueryParser queryParser = new QueryParser(Index.FIELD_BODY, new StandardAnalyzer());
Query query = queryParser.parse(findText);
// check for date filter and search in index
Hits hits;
if (useDate.isSelected()) {
String dateFrom = DateTimeUtils.getDateStringForIndex(DateTimeUtils.getDateFromString(fromField.getText()));
String dateTo = DateTimeUtils.getDateStringForIndex(DateTimeUtils.getDateFromString(toField.getText()));
RangeFilter rangeFilter = new RangeFilter(Index.FIELD_MODDATE, dateFrom, dateTo, true, true);
if (logger.isDebugEnabled()) {
logger.debug("doSearch() search with date range '" + rangeFilter + "'");
}
hits = searcher.search(query, rangeFilter);
}
else {
if (logger.isDebugEnabled()) {
logger.debug("doSearch() search without date range");
}
hits = searcher.search(query);
}
// check for search with filesize
int numHits;
if (useSize.isSelected()) {
int minFilesize = 1;
int maxFilesize = 2;
try {
minFilesize = Integer.parseInt(sizeFromField.getText()) * 1024;
maxFilesize = Integer.parseInt(sizeToField.getText()) * 1024;
}
catch (Exception e) {
setStatus(dsErrParseNums + " " + e.toString());
}
sizeList = getHitsForFilesizeRange(hits, minFilesize, maxFilesize);
numHits = sizeList[0].size();
}
else {
numHits = hits.length(); // NOT A SIZE QUERY
}
searchedIndexes.append("<li> <font color=\"blue\">");
searchedIndexes.append(currentIndex.getDescription());
searchedIndexes.append("</font> (<b>");
searchedIndexes.append(numHits);
searchedIndexes.append("</b> ");
searchedIndexes.append(I18n.getString("documents"));
searchedIndexes.append(")</li>");
if (env.isGUIMode()) {
if (logger.isDebugEnabled()) {
logger.debug("doSearch() " + I18n.getString("index") + ": " + currentIndex.getDescription());
}
}
else {
System.out.println(I18n.getString("index") + ": " + currentIndex.getDescription());
}
grandTotalHits += numHits;
tempBuf.append("<p align=\"center\"><b>");
tempBuf.append(numHits);
tempBuf.append("</b> ");
tempBuf.append(dsDocsFndInIndx);
tempBuf.append("<b> ");
tempBuf.append(currentIndex.getDescription());
tempBuf.append("</b></p>");
curSrchPos++;
if (curSrchPos > 0) {
pPanel.setCurPos(curSrchPos);
}
for (int i = 0; i < numHits; i++) {
if (i > maxNumHitsShown) {
setStatus(dsMxNumHits + " (" + maxNumHitsShown + ") " + I18n.getString("exceeded") + " (" + numHits + ").");
break;
}
// get document and score from result or special result
Document currentDocument;
float currentScore;
// filesize result?
if (useSize.isSelected()) {
currentDocument = (Document) sizeList[0].get(i);
currentScore = ((Float) sizeList[1].get(i)).floatValue();
}
else {
currentDocument = hits.doc(i);
currentScore = hits.score(i);
}
// title
String currentTitle = Utils.convertTextToHTML(currentDocument.get(Index.FIELD_TITLE));