您当时的方位:主页 > 言语编程 > JSP

JSP中完成全文检索

2014-09-14  www.codeforacause.net
全文检索一向都是web方面的关键技能,如安在汗牛充栋的信息中找到自己想要的信息是人们最关怀的。鼎鼎大名的GOOGLE便是一个很成功的比如,网络上的人们大部分都用GOOGLE来查找自己需求的内容。全文检索主要有两个技能指标:快速和准确。前一段时刻做了一个新闻体系,老板要加上全文检索的功用,想了好久才用一个不太高超的方法完成了。现在共享一下,期望是抛砖引玉吧,假如咱们有更好的方法请跟在后边:)

先介绍一下我的新闻体系:数据库里存新闻的基本信息,如标题,发布人,发布时刻,主体新闻的文件名。新闻主体是html格局的静态页(第一是要进步速度,削减数据库的压力。第二是数据库处理大字符串的时分会有问题。)。全文检索的思路是:先从数据库里把一切的新闻检索出来,把主体新闻找到,然后经过io操作把主体新闻读到一个字符串中。再去掉剩余的东西,象html符号什么的,再用正则表达式对这个字符串查找,假如找到契合条件的信息,就记载这条新闻。最终回来一切的契合条件的新闻显现给用户。

下面这段代码是输入查询条件的代码,查询关键字用”+”离隔:search.jsp

<html>xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

<head>

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

<title>新闻查找</title>

<script language="javascript">     


function subform()

{  

 if (document.zl_form.keyword.value=="")

 {

  alert("请输入关键字!");

  document.zl_form.keyword.focus();

  return false;

 }    

 return true;      

}

</script>

</head>

<body bgcolor="#F0F6E2">

<form name="zl_form"  target="_new" method="post" action="aftsearch.jsp" onsubmit="return subform()">

  <table width="600" bgcolor="#F0F6E2">

    <tr>

      <td colspan="4" height="10">&nbsp; </td>

    </tr>

    <tr>

      <td width="14%">输入查询关键字:</td>

      <td align="left" width="65%">

        <input size="50" type="text" name="keyword" style="font-size: 9pt">

        <input type="submit" name="submit" value="查找" style="font-size: 9pt">

      </td>

    </tr>