asp/asp.net 模糊搜索

来源:百度知道 编辑:UC知道 时间:2024/06/19 11:54:58
我先实现搜索 中华人民共和国 我输入 中国、中华共和国、中共、人民、华共... 都能搜到 中华人民共和国
我是说我输入 中国、中华共和国、中共、人民、华共... 这几个词中的任何一个都能搜到 中华人民共和国

谁还有详细点的? 没有更详细点的答案了吗?

原理:在字符串的每个字符之间都插入%来实现模糊搜索。
using System.Text;

string queryString="中华";//中国、中华共和国、中共、人民、华共
StringBuilder s=new StringBuilder("%");
for(int i=0;i<queryString.Length;i++)
{
s.Append(queryString[i].ToString()+"%");
}
最后把s.ToString()作为搜索的关键字。如:
string sql="select * from table where column like '"+s.ToString()+"'";

在你的搜索的表中添加专门用于别名搜索的列

bm1,bm2,bm3,bm4,bm5 ...等,把一个词的常用搜索别名加在里面,搜索条件用or连接 就行了嘛, where (bm1 = 'xxx' or bm2 = 'xxx'or .....)

SELECT * FROM 位置 WHERE content LIKE '%中国%'

这样子就可以吧

搜索引擎的技术,你拿20分就想解决呵呵。。

一般中小型网站用全文索引查询就OK了。。。

如果你是查询数据库的话,写个存储过程,传一个参数如:@InuptStr varchar(200) 即可
存储过程实现如下:
create proc QueryStr
(
@InuptStr varchar(200)
)
as
select U_Name from Users where U_Name like '%'+@InuptStr+'%'
go