sqlserver 的全文索引中文分词好像不准确,查出来的结果会少数据,用like就不会,据说它有缺陷,但听说有第三方组件可以解决,不知道大虾们是否知道,或者还有其他办法?请多指教,谢谢!

解决方案 »

  1.   

    http://social.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/8221f223-421b-4b0d-a8d2-45484189993f/这是我查到的说有第三方组件的,但只有介绍没有下载的地方
      

  2.   

    如果没有的话,那它的全文索引对于中文来说不就是个摆设了?不知道sqlserver2008解决的怎样。
      

  3.   

    我们是有单独的团队来做lucene分词。
      

  4.   

    如果lucene能解决的问题,那sqlserver也应该能解决啊,不管是“两会”,还是“两”,“会”,这个问题lucene能解决不?
    不采用lucene使用它跟sqlserver结合是不是有问题,能像sqlserver的全文索引那样用一个sql语句就能查询么?
      

  5.   

    参考,没具体操作过,只是听闻效果还行
    http://www.chedong.com/tech/lucene.html
      

  6.   

    http://www.chedong.com/tech/lucene.html
      

  7.   

    CONTAINS
    一个谓词,用于搜索包含基于字符的数据类型的列,该列与单个词和短语,以及与另一个词一定范围之内的近似词精确或模糊(不太精确的)匹配或者加权匹配。CONTAINS 可以搜索: 
    1、词或短语。
    2、词或短语的前缀。
    3、另一个词附近的词。
    4、由另一个词的词尾变化生成的词(例如,词 drive 是 drives、drove、driving 和 driven 词尾变化的词干)。
    5、比另一个词具有更高加权的词。 根据这个可以搜索的范围,是不能按一个字进行模糊查询的。
      

  8.   

    换一下写法试试看,比如:select * from table1 where CONTAINS(column1 ,'"机票*"')