package newsserver;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.cn.ChineseAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
/**
* <p>Title: 新闻搜索引擎</p>
* <p>Description: 毕业设计</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author 计算机99630 沈晨
* @version 1.0
*/
public class Results
extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Initialize global variables
public void init() throws ServletException {
}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
String QC = request.getParameter("QueryContent");
if (QC == null) {
QC = "";
}
else {
QC = input(QC);
}
response.setContentType(CONTENT_TYPE);
PrintWriter out = response.getWriter();
try {
Search(QC, out);
}
catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
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();
};
public String input(String str) {
String temp = null;
if (str != null) {
try {
temp = new String(str.getBytes("ISO8859_1"));
}
catch (Exception e) {
}
}
return temp;
}
public String replace(String title, String keyword) {
return title.replaceAll(keyword, "<font color='red'>" + keyword + "</font>");
};
//Clean up resources
public void destroy() {
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java 搜索引擎
共221个文件
class:12个
java:10个
xml:8个
4星 · 超过85%的资源 需积分: 0 36 下载量 199 浏览量
2008-01-05
16:06:13
上传
评论
收藏 842KB RAR 举报
温馨提示
java实现的搜索引擎,大家可以看看不错!
资源详情
资源评论
资源推荐
收起资源包目录
java 搜索引擎 (221个子文件)
Results.class 4KB
Results.class 4KB
Results.class 4KB
Results.class 4KB
NewsSearcher_jsp.class 3KB
NewsSearcher_jsp.class 3KB
HTMLParse.class 2KB
HTMLParse.class 2KB
Searcher.class 2KB
Searcher.class 2KB
Index.class 1KB
Index.class 1KB
news.dep2 5KB
news.dep2 5KB
newsserver.dep2 3KB
newsserver.dep2 3KB
SearchEngine.doc 330KB
News.htm 11KB
News.htm 11KB
results.html 442B
results.html 442B
results.html~1~ 429B
results.html~1~ 429B
results.html~2~ 407B
results.html~2~ 407B
results.html~3~ 342B
results.html~3~ 342B
results.html~4~ 382B
results.html~4~ 382B
results.html~5~ 369B
results.html~5~ 369B
results.html~6~ 371B
results.html~6~ 371B
lucene_cn.jar 136KB
lucene_cn.jar 136KB
lucene-1.2.jar 133KB
lucene-1.2.jar 133KB
bot.jar 37KB
bot.jar 37KB
Results.java 4KB
Results.java 4KB
NewsSearcher_jsp.java 2KB
NewsSearcher_jsp.java 2KB
HTMLParse.java 1KB
HTMLParse.java 1KB
Searcher.java 1KB
Searcher.java 1KB
Index.java 1KB
Index.java 1KB
HTMLParse.java~11~ 1KB
HTMLParse.java~11~ 1KB
HTMLParse.java~12~ 1KB
HTMLParse.java~12~ 1KB
HTMLParse.java~13~ 1KB
HTMLParse.java~13~ 1KB
HTMLParse.java~14~ 1KB
HTMLParse.java~14~ 1KB
HTMLParse.java~15~ 1KB
HTMLParse.java~15~ 1KB
HTMLParse.java~16~ 1KB
HTMLParse.java~16~ 1KB
HTMLParse.java~17~ 1KB
HTMLParse.java~17~ 1KB
HTMLParse.java~18~ 1KB
HTMLParse.java~18~ 1KB
HTMLParse.java~19~ 1KB
HTMLParse.java~19~ 1KB
QueryNews.java~1~ 2KB
QueryNews.java~1~ 2KB
Searcher.java~1~ 215B
Searcher.java~1~ 215B
HTMLParse.java~20~ 1KB
HTMLParse.java~20~ 1KB
Results.java~27~ 3KB
Results.java~27~ 3KB
Results.java~28~ 3KB
Results.java~28~ 3KB
Results.java~29~ 3KB
Results.java~29~ 3KB
QueryNews.java~2~ 2KB
QueryNews.java~2~ 2KB
Searcher.java~2~ 1KB
Searcher.java~2~ 1KB
Results.java~30~ 3KB
Results.java~30~ 3KB
Results.java~31~ 3KB
Results.java~31~ 3KB
Results.java~32~ 4KB
Results.java~32~ 4KB
Index.java~32~ 1008B
Index.java~32~ 1008B
Results.java~33~ 4KB
Results.java~33~ 4KB
Index.java~33~ 1KB
Index.java~33~ 1KB
Results.java~34~ 3KB
Results.java~34~ 3KB
Index.java~34~ 1KB
Index.java~34~ 1KB
Results.java~35~ 4KB
共 221 条
- 1
- 2
- 3
东大坡居士
- 粉丝: 92
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2