先介紹一下我的新聞系統:數據庫里存新聞的基本信息,如標題,發布人,發布時間,主體新聞的文件名。新聞主體是html格式的靜態頁(第一是要提高速度,減少數據庫的壓力。第二是數據庫處理大字符串的時候會有問題。)。全文檢索的思路是:先從數據庫里把所有的新聞檢索出來,把主體新聞找到,然后通過io操作把主體新聞讀到一個字符串中。再去掉多余的東西,象html標記什么的,再用正則表達式對這個字符串查找,如果找到符合條件的信息,就記錄這條新聞。最后返回所有的符合條件的新聞顯示給用戶。
下面這段代碼是輸入查詢條件的代碼,查詢關鍵字用”+”隔開:search.jsp
<html>
<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"> </td>
</tr>
<tr>
<td width="14%">輸入查詢關鍵字:</td>
<td align="left" width="65%">
<input size="50" type="text" name="keyword" >
<input type="submit" name="submit" value="搜索" >
</td>
</tr>
<tr>
<td colspan="2" height="9" align="left">
<br>
<font color="red" size="+1">說明:如果有多個查詢條件,中間用</font><font size="+2">+</font><font color="red" size="+1">隔開。如:1+2+3+4...</font></td>
</tr>
新聞熱點
疑難解答