一个搜索的难题 比如有这么一个句子“中国的首都是北京”,我想输入“北京 中国”和“中国 北京”这样类似的关键字都可以把它搜出来,怎么实现啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQL实现:select * from 你的表 where stringColumns like'%北京%' or stringColumns like'%中国%' select * from 你的表 where stringColumns like'%北京%中国%' or stringColumns like'%中国%北京%' 当然这个SQL语句你可以写个方法来生成呀!~~ (1)选将空格、逗号、分号转为管道符"|" string str=TextBox1.value.Replace(" ","|").Replace(";","|").Replace(",","|"); (2)split成数组, string[] arrStr=str.Split('|'); (1)(2)可以合为一个; (3)接着: string strSql="select * from table where 1=1"; for(int i=0;i<arrStr.Length;i++) { strSql += " And field1 like '%" + arr[i] + "%'"; } (4)执行相关查询即可。 以空格或别的什么形式来分割你的关键字,然后sql语句中用like 呵呵确实有不少人认为全文检索就是SQL中的条件部分用like查询。实际上,这样处理检索所真正的面对的那种规模的数据库,那么1个小时也检索不出结果。而人家全文检索系统不用0.1秒就检索出来了。所以like查询是并不适合那种全文搜索的。 如果是个人联系SQL语句,可以尝试。如果是做全文检索项目,这个搜索想法是会带来麻烦的,原始数据的保存和索引结构就是错误的。 全文搜索是一门厉害的技术吧。人家一般引用Google的还有什么奇虎等等的一段代码就行了 jquery ajax 返回值 支付宝快捷登录接口和标准双接口的区别和使用 无法显示动态的图片 请教: 为何我的 ListBox1_SelectedIndexChanged 事件不能触发? 只有在点击任意一个按钮后才刷新 label1 的值? 编译错误 求一个正则表达式 检测用户名 在线等 如何触发自定义服务器控件的事件 DataGrid 批量编辑 大家看看,为什么执行了插入后,DataGrid中的数据没有更新?? datagrid的问题,help啊 asp.net 中如何得到GridView 中某一列的值的和 问题又来了,关于Listview
string str=TextBox1.value.Replace(" ","|").Replace(";","|").Replace(",","|");
(2)split成数组,
string[] arrStr=str.Split('|');
(1)(2)可以合为一个;
(3)接着:
string strSql="select * from table where 1=1";
for(int i=0;i<arrStr.Length;i++)
{
strSql += " And field1 like '%" + arr[i] + "%'";
}
(4)执行相关查询即可。