站內搜索怎麼做?
請問怎麼做自己的站內搜索啊?
樓上說的站內搜索是用大搜索引擎的site: 這個操作。 這要求樓主的網站的網頁已經被大的搜索引擎爬過 (建好了索引)。
樓主自己做搜索, 尤其是中文的,用字符匹配很麻煩的。 比如山西瓜子, 你就要把它拆分成山西, 瓜子, 然後把這個兩個詞送去做逆向索引, 否則你搜索了西瓜, 就很搞笑了。 搜索本身也很費CPU, 所以一般我們做大的站內搜索,都是在深夜把數據庫的表內數據做好索引。建立專門的數據分區。 不可能來一個搜索請求就翻一遍數據庫的,當然如果你係統特別小,也可以在數據庫上硬做字符比較 ...
你可以看看安裝apache的luc訂ne搜索軟件,開源的。
怎麼做一個站內搜索?
模糊查詢
(select 字段列表 from 表A where charindex(要查找的字段,'要查找的內容')>0)
union all
(select 字段列表 from 表B where charindex(要查找的字段,'要查找的內容')>0)
union all
...
如果要查找的表很多的話,其中的表A表B可以使用
select name from sysobjects where xtype='u'
取得,用while生成sql語句後
exec(@sql)
執行
一個網站的站內搜索是怎麼做的
模糊查詢
(select 字段列表 from 表A where charindex(要查找的字段,'要查找的內容')>0)
union all
(select 字段列表 from 表B where charindex(要查找的字段,'要查找的內容')>0)
union all
...
如果要查找的表很多的話,其中的表A表B可以使用
select name from sysobjects where xtype='u'
取得,用while生成sql語句後
exec(@sql)
執行
如何製作一個自己站內搜索引擎?
假如你擁有一個龐大的網站,內容又多,那麼來訪者往往很難找到自己所需要的東東,這時候你就需要一個站內搜索來幫助來訪者更快的找到索要的資料了!現在你就可以用asp輕易的實現這種功能,何況現在支持asp的站點這麼多,利用這個搜索引擎可以搜索到你的主頁裡面任何一個文件或者軟件資料,它可以精確到每個字!說了這麼多你是不是怦然心動了啊,那就按照下面的步驟來建立自己的搜索引擎吧:
(一),首先利用access97建立一個名為list.mdb的數據庫,在裡面建立一個名為list的表,然後在list表裡面輸入一些你想要被查詢的文件名字,關鍵的搜索詞還有相對應的鏈接,下面建立了四個項目ID(編號),title(主題),word(關鍵詞),url(鏈接地址),如下表所示:
ID title word url
1 cgi教程 本地調試cgi cgi/testcgi.htm
2 下載中心 聊天室,留言本 download/index.htm
(二),建立了數據庫以後就可以建立你的asp搜索頁面了,下面是一個文件名為search.htm的asp搜索頁面的源程序,這個搜索引擎可以同時搜索title和word裡面的內容,當然如果你有需要的話可以建立更多的搜索:
<% "建立數據庫的連接
con="DBQ="+server.mappath("list.mdb")+";DefaultDir=;DIRVER={microsoft Access Driver(*.mdb)};"
"建立CONNECTION對象並打開數據庫
set mycon=server.createobject("ADODB.CONNECTION")
mycon.open.con %>
"創建Recordset對象的例程,打開Recordset對象傳遞SQL串以及所有的連接信息
<% set rs=server.createobject("ADODB.Recordset")
rs.open "SELECT*FORM list where title and word like '%'&request.form("word")&"%'",MyCon,adOpenStatie
%>
"建立查詢後的顯示信息和查詢頁面,你想取什麼名字都可以
"統計查詢共有<% Response.Write(RS.RecordCount) %>條紀錄
<% "建立數據庫的連接
con="DBQ="+server.mappath("list.mdb")+";DefaultDir=;DIRVER={microsoft Access Driver(*.mdb)};"
"建立CONNECTION對象並打開數據庫
set mycon=server.createobject("ADODB.CONNECTION")
mycon.open.con %>
"創建Recordset對象的例程,打開Recordset對象傳遞SQL串以及所有的連接信息
<% set rs=server.createobject("ADODB.Recordset")
rs.open "SELECT*form list where title and word like '%'&request.form("word")&"%'",MyCon,adOpenStatie
%>
"建立查詢後的顯示信息和查詢頁面,你想取什麼名字都可以
"統計查詢共有<% Response.Write(RS.RecordCount) %>條紀錄
size="18" maxlength="100"> value="搜索"> value="bds"> value="3"> type=hidden value="網址"> |
要將站內全文搜索引擎加入您的個人網站,只需要創建一個鏈接列表,然後在“描述”里加入代碼即可。
這裡有幾點說明:
1.size後面的數值用來控制搜索文本框的長度,可根據實際需要更改。
2.value="搜索"這個地方雙引號內的文字可隨意更改,這個是按鈕的文字。
3.value="網址"雙引號內的“網址”二字改為自己的網站網址,但是不要寫上“http://”
二、使用第三方站內搜索引擎:
使用時將代碼裡的"xuon.cn"替換為你的網址
Google站內搜索