巩义赵新海:怎么做一个站内搜索?
来源:百度文库 编辑:杭州交通信息网 时间:2024/04/27 17:38:47
就是sql的查询语句不知道怎么写,,,
哪位可以帮一下忙??
要能在多表中查询............
小站,没必要用百度的搜索,我只是想学一下怎么用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)
执行
看你想怎么架构可以用开源的搜索引擎代码,也可以自己写基于分类的搜索算法
具体步骤:
对你站内的网页等信息做权限处理,哪些能别搜索,哪些不能别搜索
写一个对自己站内信息搜索的“爬虫”,算法很多不详写
检索时,从“爬虫"数据库搜索,或者做即时的运算,推荐前者
开源搜索引擎:Apache Solr,Elastic Search,Index Tank,Katta等。
分类搜索:你要做一个类似淘宝的分类系统或者设置关键字、标签等,然后对标签和类别进行搜索,参考算法有A*算法,回溯算法等
自已做?
你还是用别人的吧,如百度,google
源码如下:百度
<form action="http://www.baidu.com/baidu" target="_blank">
<table bgcolor="#FFFFFF"><tr><td>
<input name=tn type=hidden value=baidu>
<a href="http://www.baidu.com/"><img src="http://img.baidu.com/img/logo-80px.gif" alt="Baidu" align="bottom" border="0"></a>
<input type=text name=word size=30>
<input type="submit" value="百度搜索">
</td></tr></table>
</form>