比如有这么一个句子“中国的首都是北京”,我想输入“北京  中国”和“中国   北京”这样类似的关键字都可以把它搜出来,怎么实现啊?

解决方案 »

  1.   

    SQL实现:select * from 你的表 where stringColumns like'%北京%' or stringColumns like'%中国%'
      

  2.   

    select * from 你的表 where stringColumns like'%北京%中国%' or stringColumns like'%中国%北京%'
      

  3.   

    当然这个SQL语句你可以写个方法来生成呀!~~
      

  4.   

    (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)执行相关查询即可。
      

  5.   

    以空格或别的什么形式来分割你的关键字,然后sql语句中用like
      

  6.   

    呵呵确实有不少人认为全文检索就是SQL中的条件部分用like查询。实际上,这样处理检索所真正的面对的那种规模的数据库,那么1个小时也检索不出结果。而人家全文检索系统不用0.1秒就检索出来了。所以like查询是并不适合那种全文搜索的。
      

  7.   

    如果是个人联系SQL语句,可以尝试。如果是做全文检索项目,这个搜索想法是会带来麻烦的,原始数据的保存和索引结构就是错误的。
      

  8.   

    全文搜索是一门厉害的技术吧。人家一般引用Google的还有什么奇虎等等的一段代码就行了