如何解决自表编辑以来 SQL Server 全文索引未完全更新
设置信息:
- 在 Windows Server 2019 上运行的 sql Server 2019
- 使用 SSMS 设置全文
文档表
我在表中添加了一个列 SignTag
(nvarchar
),然后是问题开始发生的时候。
全文索引在我们的服务器上运行良好有一段时间了,但是一旦表格被编辑,它就停止向目录添加尽可能多的内容。
之前它大约有 200k 结果,但在编辑之后它只显示大约 86k,这导致搜索结果要么没有结果,要么不显示所有结果。
例如搜索“加班”只会显示一个文件,而不是它过去显示的四个文件。
我尝试了一些东西:
我不知道为什么全文突然停止了与更改前一样多的收集。
有其他人也遇到过这种情况吗?
解决方法
经过一番挖掘,我发现 Microsoft Office 过滤器包已被卸载,但我们从未注意到,因为索引目录已经从安装包开始构建。
它现在只在添加新列时出现,它会重建导致问题的 FTS 目录。
由于缺少过滤器包,并非所有文件类型都可用于 FTS,这就是为什么我们只得到 86k 而不是之前的 200k。仅举出我们缺少的两种主要文件类型。 pptx xlsx
修复:
1:安装 Microsoft Office 2010 过滤器包(我的服务器为 64 位)
2:运行此查询以更新 sql 文档类型。
EXEC sp_fulltext_service 'update_languages';
EXEC sp_fulltext_service 'load_os_resources',1;
EXEC sp_fulltext_service 'restart_all_fdhosts';
3:进入服务找到SQL全文过滤守护进程启动器(MSSQLSERVER)然后右键重启。
4:告诉 FTS 目录重建。
之后,您可以运行此查询以确认再次添加所有文档类型。
SELECT * FROM sys.fulltext_document_types
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。