万卷书   首页 > 电脑书籍 > JSP > 开发实例:JSP中实现全文检索
 

resultString=Html.TextEncode(resultString);


myFileReader.close();


// 取出查询关键字


Pattern p=null;


Matcher m=null;


p = Pattern.compile("\\+");


String[] a=p.split(keyWord);// 把关键字用 + 分开


// 全文检索


String searchResult="1";// 检索结果


int i;


for(i=0;i<a.length;i++)// 逐个按关键字查找,如果所有的关键字都符合,则记录结果


{


p = Pattern.compile(a[i].toString());


m = p.matcher(resultString);


if (!(m.find())) {


searchResult="0";


}


}


// 记录符合条件的新闻


if(searchResult.equals("1"))


{


News resultNews=new News();// 存放结果的类,和数据库的结构基本一致


resultNews.content=content;


resultNews.release_time=release_time;


resultNews.type=news_type;


resultNews.man_add=man_add;


resultNews.title=title;


news.addElement(resultNews);// 最后的结果集,要返回客户端


}


}


// 关闭数据库


DbaObj.CloseConnection() ;


/SPAN>}catch(Exception e){


System.out.println(e.toString());


}


}


public class News { // 存放结果的类


String content;


String release_time;


String type;


String man_add;


String title;


public String getContent() { return this.content; }


public String getTitle() { return this.title; }


public String getTime() { return this.release_time; }


public String getType() { return this.type; }


public String getMan_add() { return this.man_add; }


}


}


下面的代码是调用的: aftsearch.jsp


<%@ page contentType="text/html; charset=gb2312" %>


<%@ page import="java.util.*" %>


<%


request.setCharacterEncoding("GB2312");


String keyword=request.getParameter("keyword"); // 接收关键字


String trace=getServletContext().getRealPath("/")+"xwxx\\news\\";// 主体新闻存放路径


NEWS.newsSearch newsSearch=new NEWS.newsSearch();// 初始化检索的 bean


newsSearch.setFilePath(trace);// 设置主体新闻路径


newsSearch.setKeyWord(keyword);// 设置关键字


newsSearch.search();// 检索


Vector news=newsSearch.getResult();// 取到结果


%>


<html>


<head>


<title> 新闻搜索 </title>


<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">


<link rel="stylesheet" href="../css/style3.css">


&l;script LANGUAGE="javascript">


function open_window(id)


{


locat="./news/"+id+".htm";


 

上一页 下一页