contains(field1,N'"世界杯*"')

解决方案 »

  1.   

    用freetext试一下:FREETEXT 不被识别为关键字,使用 FREETEXT 的全文查询没有使用 CONTAINS 的全文查询精度高
      

  2.   

    OpenVMS(半知半解) :
    哈,我早就试过。没用
      

  3.   

    你的全文检索是不是有问题?
    WHERE PATINDEX('%世界杯%',field1)>0
      

  4.   

    我使用过这样的全文索引,没有出现你这样的问题,如果你使用FREETEXT 的全文查询会出现你所说的问题,使用contains不会出现这样的问题,应该是你的全文索引建立的问题,把原来的全文索引删除在重新建立试一试,
    我按你的也在我的数据库试验了,没有问题的,你写的语句也正确的,所以建议你把你的全文索引删除了重新建立
      

  5.   

    对了不知道你的全文索引是怎么建立的下面是我的全文索引你看一看首先在表上建立唯一索引if exists(select name from sysindexes where name='news_title')
    drop index news.news_title
    go
    create unique clustered index news_title on news(number)
    然后建立全文索引if (select databaseproperty('master','isfulltextenabled'))=0
    exec sp_fulltext_database 'enable'
    exec sp_fulltext_catalog 'ft_news','create'
    exec sp_fulltext_table 'news','create','ft_news','news_title'
    exec sp_fulltext_column 'news','title','add'
    exec sp_fulltext_table 'news','activate'
    exec sp_fulltext_catalog 'ft_news','start_full'
    go
    另外每次添加纪录后要重新执行语句
    exec sp_fulltext_catalog 'ft_news','start_full'
    我是在我们网站的新闻表news上面建立的全文索引没有出现你那样的问题
      

  6.   

    全文检索对汉字和英文的处理不同,汉字是单个字组合检索,英文是一组词整体处理,所以会出现你说的情况,结果是正确的,如果你不想查出那些不想要的数据,换成LIKE查询吧。