Bic*_*ick 4 sql-server full-text-search thesaurus sql-server-2012
我正在尝试按照本教程在查询全文搜索时设置同义词库文件.
我删除了以下文件中的注释
D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\tseng.xml
D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\tsglobal.xml
Run Code Online (Sandbox Code Playgroud)
所以现在它包含默认的同义词(例如jog用run替换,反之亦然).
现在,我使用了加载同义词库文件
EXEC sys.sp_fulltext_load_thesaurus_file 1033;
Run Code Online (Sandbox Code Playgroud)
我用我来测试我的词库
SELECT * FROM sys.dm_fts_parser ('FORMSOF(THESAURUS,"running")', 1033, 0, 0)
Run Code Online (Sandbox Code Playgroud)
我只得到一行完全匹配
(注意:
SELECT * FROM sys.dm_fts_parser ('FORMSOF(Inflectional,"running")', 1033, 0, 0)
Run Code Online (Sandbox Code Playgroud)
返回所有"RUN"变形)
我甚至尝试通过adventureWorks2012选择(用"jog"更新几行后)
SELECT Description
FROM Production.ProductDescription
WHERE FREETEXT(Description, 'jog')
Run Code Online (Sandbox Code Playgroud)
什么都没有归还.有任何想法吗?谢谢.
D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\tseng.xml
Run Code Online (Sandbox Code Playgroud)
是英国英语的文件,您指定的是美国英语的代码(1033).
tsenu.xml
将是美国英语的文件名.
如果更改代码或文件并重新加载但仍然无效,请确保以Unicode格式保存文件,而不是UTF-8或ANSI.
此外,文件路径可能不正确.
我遇到了与上述问题类似的问题,并被BOL链接误入歧途.我的问题,也可能是你的问题,应该保存文件的路径:
<SQL_Server_data_files_path>\MSSQL11.MSSQLSERVER\MSSQL\FTDATA\
Run Code Online (Sandbox Code Playgroud)
这是您希望同义词库与数据目录关联的数据库的路径.虽然我正在运行SQL2012,但我在2008R2中创建了这个数据库,结果就是它的数据目录了MSSQL10_50MSSQLSERVER\MSSQL\FTDATA
归档时间: |
|
查看次数: |
2078 次 |
最近记录: |