<%@ page import = "lucene.Search, java.util.Map, java.util.ArrayList" %> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String queryText, queryPage, queryNext, queryLast; String strHistory; request.setCharacterEncoding("UTF-8"); queryText = request.getParameter("query"); queryPage = request.getParameter("page"); queryLast = request.getParameter("last"); strHistory = request.getParameter("history"); if(strHistory == null) strHistory = " "; if(strHistory != null && !strHistory.equals("null") && queryText != null && !strHistory.contains(queryText)) strHistory = " "+queryText + "
" +strHistory ; if(queryPage == null || queryPage.equals("")) queryPage = "1"; queryNext = Integer.toString(Integer.parseInt(queryPage)+1); if(queryLast != null && !queryLast.equals(queryText)){ queryPage = "1"; queryNext = "2"; } %> <%= queryText %> - 泽文的搜索引擎


<% System.out.println(queryText); boolean flag = false; Search searcher = new Search(); ArrayList> totalResults, results=new ArrayList<>(); int Page = 1, size = 0; if( queryPage != null && queryPage.length()!=0) Page = Integer.parseInt(queryPage); if(queryText != null){ totalResults = searcher.search(queryText); size = totalResults.size(); out.println("" + "找到了 " + size + " 个结果"); out.println("" + "每页最多显示15条,当前是第 " + Page + " 页, 一共" + (size / 15 + 1) + "页"); out.println("" + "

"); if(size > (Page-1)*15 && Page > 0) for (int i = 0; i < 15; i++) { if((Page-1)*15+i < size) results.add(totalResults.get((Page-1)*15+i)); } else if(size != 0){ out.println(""); out.print("抱歉,超出了页数范围: 1 - " + (size/15+1)); out.println("" + "
"); flag = true; } if(results != null && results.size() != 0 ){ String strBody, strTitle, strUrl, strScore, strKeywords; for(int i = 0 ; i < results.size() ; i ++){ Map map = results.get(i); strTitle = map.get("title"); strBody = map.get("contents"); strUrl = map.get("url"); strScore = map.get("score"); strKeywords = map.get("keywords"); out.println(""); out.print("" + strTitle + ""); out.println("" + "
"); out.println("" + "score: " + strScore + " 关键字:" + (strKeywords==null?"":strKeywords)); out.println("" + "
"); out.println("" + strBody + "
" + "
"); } out.println("
"); } else if(flag == false){ out.println(""); out.print("抱歉,没有找到" + queryText); out.println("" + "
"); } out.println("搜索记录:
"); out.println(""); out.println(strHistory); out.println("" + "
"); } %>