无法正确的建立全文目录

mailtocc 2005-08-22 07:47:59
环境:w2k advanced server + sql server 2k 开发版 sp3
试了很久,仍然无法正确的建立全文目录。
先开始使用sqlserver2k企业版,建立全文目录,启动完全填充,竟然非常快的就完成了。
结果当然是使用contains什么都查不到。
无奈后来换成了开发版,进行完全填充,也干了很久,可是最后在属性里面看“目录大小”仍然只有1兆,“项目计数”也为0,也就是说仍然失败,不知何故。
看了论坛里面的一些做法。具体如下:
1、
停止Microsoft Search服务,将noise.chs的内容改为@,存盘退出。重新启动MSSearch服务。
2、
查询分析器里面执行:
use northwind
create table tblCatogary(
[id] int identity primary key,
username varchar(50),
contents text
)
go
insert into tblCatogary values('colin','abc hellohi')
insert into tblCatogary values('bbccolin','abchello hi')
insert into tblCatogary values('环球日报社','abc hello hi')
insert into tblCatogary values('中国环球日报社','abc hello hi')
insert into tblCatogary values('环球','abc hello hi')
3、选中表tblCatogary,全文索引表-〉在表上定义全文索引-〉唯一索引中选择我的主键-〉
选中列“username”和“contents”并把它们的“单词断字符的语言”设置成“中文(中国)”
-〉目录名起为“FT_tblCatogary”-〉不启用调度直接完成退出
4、在FT_tblCatogary上选取“启动完全填充”,提示启动成功,等待10多分钟后,FT_tblCatogary的状态由正在进行填充变为空闲,此时已经填充完毕。
5、查询分析器输入select * from tblCatogary where contains(username,'colin'),没有一行记录返回,也就是说什么都查不到,不知道这是为什么????
...全文
135 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mailtocc 2005-08-23
  • 打赏
  • 举报
回复
刚才尝试一下打上sql server sp4的补丁,没想到问题竟然解决了,以前都没听说非要sp4不可。
所以又特意在周围3个同事的机器上作了测试,都与sp4有关,他们的noise.chs也都是用原始安装的,最后测试没有问题。
看了一下sp4的修复列表,其中也有几个与全文有关的修补,难道真的是sp4的问题吗?不过无论如何问题算是解决了。
netcoder 2005-08-22
  • 打赏
  • 举报
回复
我测试过,很好用
netcoder 2005-08-22
  • 打赏
  • 举报
回复
转:
这里有一个完整的例子:
前提条件:安装好全文检索服务,并启动

--建立表,插入数据,建立全文索引

if ( (select count(*) from sysobjects where name = 'testft' and type = 'U') > 0)
drop table testft

create table testft(
id int identity(1,1) constraint pk_testft primary key,
title nvarchar(500),
content nvarchar(2000)
)

insert into testft values ('This is title', 'this is content')
insert into testft values ('My name is sqlserver', 'Hello, everyone')
insert into testft values ('这里是标题','这里是内容')
insert into testft values ('江西', '南昌')
insert into testft values ('湖南', '长沙')
insert into testft values ('河南', '郑州')

execute sp_fulltext_database 'enable'

execute sp_fulltext_catalog 'ft_testft', 'CREATE'

execute sp_fulltext_table 'testft', 'CREATE', 'ft_testft', 'pk_testft'

execute sp_fulltext_column 'testft', 'title', 'ADD'
execute sp_fulltext_column 'testft', 'content', 'ADD'

execute sp_fulltext_table 'testft', 'ACTIVATE'

execute sp_fulltext_catalog 'ft_testft', 'START_FULL'

--执行完以上语句,再执行以下语句
--查询:

declare @keyword varchar(50)
set @keyword = '南'
select * from testft
select * from testft where contains(*, @keyword)

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧