none
sql server全文检索查到的记录不全 RRS feed

  • 问题

  • 我用sql server全文检索功能查询数据库,查询语句为
    select   *   from   t_info
    where   contains(newtitle, '测试一下')时查不到数据,但查询语句为
    select   *   from   t_info
    where   contains(newtitle, '测试一')时却能查到一条数据,这是为什么,有办法解决吗?

    2010年7月26日 5:09

全部回复

  • 有人知道解决方法吗?
    2010年7月26日 6:09
  • 你确定有这个数据么?

    可以详细看看sql 帮助 中的 CONTAINS 谓词。

     


    family as water
    2010年7月26日 9:04
  • 这样很正常啊。。。

    select   *   from   t_info
    where   contains(newtitle, '测试一下') 表示搜索包含了 测试一下 关键字的newtitle

    select   *   from   t_info
    where   contains(newtitle, '测试一') 表示搜索包含了 测试一 关键字的newtitle

    如果你有一条记录为 newtitle='测试一哈哈哈' 那不就是第二条可以测试出来 第一个语句不可以么?

     

    2010年7月26日 12:25
  • How do you populate full index catalog?
    2010年7月26日 14:17
  • 我的数据记录中newtitle这个字段的值就是“测试一下”啊
    2010年7月27日 1:06
  • 我之前建立全文检索的语句如下:
    if(select databaseproperty('pubs','isfulltextenabled'))=0
    execute sp_fulltext_database 'enable'
    execute sp_fulltext_catalog 'FT_pubs','create'
    execute sp_fulltext_table 't_info','create','FT_pubs','UPKCL_titleidind'
    execute sp_fulltext_column 't_info','newtitle','add'
    execute sp_fulltext_column 't_info','newsubtitle','add'
    execute sp_fulltext_table 't_info','activate'
    execute sp_fulltext_catalog 'FT_pubs','start_full'
    go
    While fulltextcatalogproperty('FT_pubs','populateStatus')<>0
    begin
    waitfor delay '0:0:30'
    end
    应该没错吧

    2010年7月27日 1:10
  • Didn't see how to populate the catalog, double check in catalog properties in ssms.
    2010年7月27日 1:23
  • 尝试重新建立一下你的FullTextSearch Index.
    Microsoft Online Community Support Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    2010年7月28日 4:12
    版主