Ben*_*ler 3 sql-server full-text-search sql-server-2014
我已通过 SQL Server 2008 的导入/导出将数据库从 SQL Server 2000 移至 SQL Server 2014,以使其兼容 2014 年的导入。到目前为止,一切正常。
我发现使用通常位于停止列表中的单词(例如文章)会破坏或破坏全文搜索中的检索并且不返回任何结果。仅使用重要的关键字会像往常一样返回结果。据我所知,在旧版本的 SQL Server 中,使用了与停止列表不同的系统。尽管我在FTData文件夹中找不到任何相关内容,因为它要么是空的,要么是带注释的。
通过 SQL Server Management Studio 检查数据库时,我发现所选数据库(在Storage下)中没有配置停止列表。我尝试根据系统停止列表添加一个新的,但这对行为没有任何影响。
什么会导致这种行为?
更新
使用的查询:
SELECT ProductID FROM SearchTable WHERE CONTAINS(*, '"word"') AND
CONTAINS(*, '"noiseword"')
Run Code Online (Sandbox Code Playgroud)
结果失败,因为在搜索查询中单词是用 AND 连接的。使用干扰词显然总是返回 false,因此不会返回任何项目。
我试图改变这种行为,但这并不能阻止它:
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'transform noise words', 1;
RECONFIGURE;
GO
Run Code Online (Sandbox Code Playgroud)
只需停用停止列表即可解决问题。可能有更好的解决方案,但这对我有用。
Use database;
ALTER FULLTEXT INDEX ON table
SET STOPLIST OFF;
GO
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3453 次 |
最近记录: |