众所周知,使用SQL Server的全文索引,经常会发生找不到记录的情况,因为全文索引使用了分词技术进行查询,而SQL Server的分词比较弱,对中文支持比较差,因此有时明明使用LIKE可以查出来,而使用Contain就无法查出来。查了很多资料,虽然中科院有一个关于分词的DLL,但是这个DLL怎么样用到SQL Server的全文索引中,不知道各位在规划数据库的全文索引时,是怎么解决分词问题的?欢迎发表意见参与讨论。

解决方案 »

  1.   

    To:zjcxc(邹建) 有没有开发类似全文索引的经验,我们现在要开发一个行业性比较强(有很多特殊的词语)的搜索引擎,资料来源都是站内,如果能提供一些解决方案,那怕思路,都非常非常感谢。如果能够合作则更好,我的联系方式:QQ:31372743
    MSN:[email protected]
      

  2.   

    多用空格.在你认为业务上将来很可能被搜索的关键词左右两边都留一个空格.等于时强制告诉sqlserver你要分词.我原来也纳闷,怎么全文了反而找的少了...后来用空格了就好了.肯定能搜到.但是你处理数据输入就比较繁琐了....
      

  3.   

    对中文支持不好,空格虽然行,但是那样不是解决办法,如果能建立一个 关键字 库,确实是个好办法,不过SQLSERVER没有这样的功能
      

  4.   

    我是这么想的:)在搜索海量数据库前你可以对你要搜索的字段内容先进行中文分词后,并对分词后的结果建立一个索引[这个索引当然是放每个分词的名称和分词在整个数据库中出现的位置],这样你搜索的时候就觉得象用汉语词典一样,应该一下子就找到了吧:)))不过顺便问一问:
    对SQL数据库来说,我们是把分词后建立的索引放在数据库中还是放在文本文件中呢,
    那一个搜索的速度更快呢???
      

  5.   

    http://search.csdn.net/ 
    不过本站的搜索技术还是Powered By Hylanda
    我想这个难度不是一般的小啊呵呵
    http://www.hylanda.com/onlinedemo/Segmentdemo.ASP 这个是Hylanda公司的分词演示