2

以下のスキーマを持つ TestTable というテーブルがあります。

---------------------------------------------------------
ID(Integer) | Text(nvarchar(450)) | LanguageCode(Integer)
---------------------------------------------------------

ID は主キーで、Text 列には複数の言語のテキスト文字列が含まれます。

上記の表に全文索引を作成したいと考えています。

CREATE FULLTEXT INDEX ON TestTable
 ( 
  Text
     Language <Should get language code from Language column>,
 ) 
  KEY INDEX PK_TestTableID; 
GO

どうすればこれを達成できますか?

助けてください。

4

2 に答える 2

3

現時点では、単一のテーブルでそれを行うことは不可能です。SQL Server では、1 つの言語でのみ列にインデックスを付けることができます。

Microsoft が推奨しているのは、ニュートラル ワード ブレーカー ( http://technet.microsoft.com/en-us/library/ms142507.aspx ) を使用することです。

クエリは次のようになります。

SELECT Description 
FROM Asset 
WHERE FREETEXT(Description, 'Cats', 'de-DE');

これの問題は、そのテキストの言語を中断することの明らかな利点が得られないことです。

あなたができることは、テーブルの各カルチャのビューと、そのカルチャ固有のワード ブレーカーを使用したインデックスを作成することです。

例 TestTableGermanView

于 2013-10-13T19:42:06.250 に答える