学院首页>网络编程>JSP>JSP中实现全文检索

JSP中实现全文检索

作者: 来源: 添加时间:2006-5-21 19:21:15
 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+".html";

第 3 页,共 5 页 [1] [2] [3] [4] [5]
站内搜索