[原创]
主要代码示意如下(c#版):
key为用户输入的内容
keywords为数据库的词库表
sql为数据查询语句
order为数据排序语句
words为要查的所有字段链接后的结果
conn为数据库操作类实例
//找出所有符合用户输入内容的关键字
dw=conn.Select("select title from keywords where '"+key+"' like '%'+title+'%' and act="+act1);
//循环
for(i=0;i<dw.Rows.Count;i++)
{
word=dw.Rows[i][0].ToString();
sql+=" or "+words+" like '%"+word+"%'";
order+="+(case CHARINDEX('"+word+"',"+words+") when 0 then 1000 else CHARINDEX('"+word+"',"+words+") end)";
}
词库产生代码
ppp为1是查询 分页或刷新后就不是1了
if(ppp=="1")
{
try
{
ds=conn.Select("select id from keywords where title='"+key+"' and act="+act1);
if(ds.Rows.Count<1)
htc=conn.Update("insert into keywords (title,act) values('"+key+"',"+act1+")");//添加关键词,默认搜索1次
else
htc=conn.Update("update keywords set htc=htc+1 where id="+ds.Rows[0][0].ToString());//被搜索率+1
}
catch
{}
}