在查询全文搜索时,我尝试按照这教程设置同义词库文件。
我已经删除了以下文件中的注释
D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\tseng.xml
D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\tsglobal.xml因此,现在它包含默认的同义词(例如,jog被替换为run,反之亦然)。
现在,我使用
EXEC sys.sp_fulltext_load_thesaurus_file 1033;我测试我的辞典
SELECT * FROM sys.dm_fts_parser ('FORMSOF(THESAURUS,"running")', 1033, 0, 0)我只得到一排和完全匹配的
(注:
SELECT * FROM sys.dm_fts_parser ('FORMSOF(Inflectional,"running")', 1033, 0, 0)返回所有的“运行”拐点)
我甚至尝试选择adventureWorks2012 (在用单词"jog“更新了几行之后)
SELECT Description
FROM Production.ProductDescription
WHERE FREETEXT(Description, 'jog')什么都不回。有什么想法吗?谢谢。
发布于 2013-08-07 01:29:15
D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\tseng.xml 是英式英语的文件,您正在指定US English (1033)的代码。
tsenu.xml将是US English的文件名。
如果您更改了代码或文件并重新加载,但它仍然无法工作,请确保您正在保存Unicode中的文件,而不是UTF-8或ANSI。
此外,文件路径可能不正确。
我有一个类似的问题,上面的问题,并被误入歧途的BOL链接。我的问题,也可能是您的问题是,文件应该保存到的路径:
<SQL_Server_data_files_path>\MSSQL11.MSSQLSERVER\MSSQL\FTDATA\这是您希望将同义词库关联在数据目录中的数据库的路径。虽然我运行的是SQL2012,但我在2008 R2中创建了这个db,因此它的数据dir在MSSQL10_50MSSQLSERVER\MSSQL\FTDATA中
low/archive/2008/08/13/modifying-the-thesaurus-in-full-text-search-in-sql-server-2008.aspx
https://stackoverflow.com/questions/16890729
复制相似问题