运行及总结
服务端设计
public void Search(String qc, PrintWriter out) throws Exception { // 从索引目录创建索引 IndexSearcher _searcher = new IndexSearcher("c:\\news\\index"); // 创建标准分析器 Analyzer analyzer = new ChineseAnalyzer(); // 查询条件 String line = qc; // Query是一个抽象类 Query query = QueryParser.parse(line, "title", analyzer); out.println("<html>"); out.println("<head><title>搜索结果</title></head>"); out.println("<body bgcolor=#ffffff>"); out.println("<center>" + "<form action='/NewsServer/results' method='get'>" + "<font face='华文中宋' color='#3399FF'>新闻搜索引擎</font>:" + "<input type='text' name='QueryContent' size='20'>" + "<input type='submit' name='submit' value='开始搜索'>" + "</form></center>" ); out.println("<p>搜索关键字:<font color=red>" + query.toString("title") + "</font></p>"); Hits hits = _searcher.search(query); out.println(" 总共找到<font color=red>" + hits.length() + "</font>条新闻<br>"); final int HITS_PER_PAGE = 10; for (int start = 0; start < hits.length(); start += HITS_PER_PAGE) { int end = Math.min(hits.length(), start + HITS_PER_PAGE); for (int i = start; i < end; i++) { Document doc = hits.doc(i); String url = doc.get("url"); if (url != null) { out.println( (i + 1) + " <a href='" + url + "'>" + replace(doc.get("title"), qc) + "</a><br>");} else { System.out.println("没有找到!");} }} out.println("</body></html>"); _searcher.close(); }; |
运行结果:
项目总结:
经过努力,我制作的“搜索引擎”终于完成了。虽然系统很小且很简单,但还是很有成就感。
1、构思从实用性出发。从开始的不知道做什么好,到后来坚定地设计制作这个系统,我结合自身的经历考虑到做这样一个系统有一定的使用价值。能够给同学们和老师们带来一定的便利。
2、制作过程稳中求胜。在设计制作过程中,我努力运用本学期学到的所有知识,一步一步做好,几乎用上了能用上的所有组件。并且努力回忆老师曾说过的每一个注意事项;不懂的就向身边的同学请教。在此过程中自己也感到实际动手操作能力有了明显的提高。
3、缺点和不足仍然很多。当然,制作过程中也遇到了许多的困难,运行不出来就逐字的寻找错误;连不上数据库就重新找方法;在一些具体的搜索方面仍然有无法匹配的现象出现,还需要通过日后的学习加以改进。
在总结之际,要特别感谢给予我耐心教导和包容的老师,以及给予我帮助的同学朋友们。