4

全文検索のクエリを実行するときにシソーラス ファイルを設定するために、このチュートリアルに従おうとしています。

以下のファイルのコメントを削除しました

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)

完全に一致する行が 1 つしかない

(注:

 SELECT * FROM sys.dm_fts_parser ('FORMSOF(Inflectional,"running")', 1033, 0, 0)

すべての「RUN」語形変化を返します)

私もadventureWorks2012を選択しようとしています(「jog」という単語でいくつかの行を更新した後)

SELECT Description
FROM Production.ProductDescription
WHERE FREETEXT(Description, 'jog')

何も返されません。何か案は?ありがとう。

4

1 に答える 1

7
D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\tseng.xml 

英国英語のファイルで、米国英語 (1033)のコードを指定しています。

tsenu.xmlは、米国英語のファイル名になります。

コードまたはファイルを変更してリロードしても機能しない場合は、ファイルを UTF-8 や ANSI ではなく Unicode で保存していることを確認してください。

また、ファイル パスが正しくない可能性があります。

上記と同様の問題があり、BOL リンクに惑わされました。私の問題、そしておそらくあなたの問題も、ファイルを保存するパスです。

<SQL_Server_data_files_path>\MSSQL11.MSSQLSERVER\MSSQL\FTDATA\

これは、シソーラスを関連付けるデータベースのデータ ディレクトリのパスです。私はSQL2012を実行していますが、2008R2でこのデータベースを作成したため、データディレクトリがありましたMSSQL10_50MSSQLSERVER\MSSQL\FTDATA

http://sqlblog.com/blogs/greg_low/archive/2008/08/13/modifying-the-thesaurus-in-full-text-search-in-sql-server-2008.aspx

于 2013-08-07T01:29:15.597 に答える