ストップ ワードとストップ リスト
フルテキスト インデックスが肥大化するのを防ぐため、SQL Server には、頻繁に出現する、検索に役立たない文字列を破棄するメカニズムがあります。破棄されるこのような文字列をストップ ワードと呼びます。インデックスの作成中、Full-Text Engine により、フルテキスト インデックスからストップ ワードが除外されます。つまり、フルテキスト クエリでは、ストップ ワードが検索されません。
重要 |
---|
SQL Server 2005 のノイズ ワードは、ストップ ワードになりました。データベースが以前のリリースから SQL Server 2008 にアップグレードされると、ノイズ ワード ファイルは使用されなくなります。ただし、ノイズ ワード ファイルは FTDATA\ FTNoiseThesaurusBak フォルダに保存され、後で対応する SQL Server 2008 ストップ リストを更新または作成する際に使用できます。ノイズ ワード ファイルをストップ リストにアップグレードする方法の詳細については、「フルテキスト検索のアップグレード」を参照してください。 |
ストップ ワードは、特定の言語で意味を持つ単語の場合や言語的な意味のないトークンの場合があります。たとえば、英語では、"a"、"and"、"is"、"the" などの単語は、検索に役立たないことが知られているため、フルテキスト インデックスから除外されます。
含まれるストップ ワードは無視されますが、フルテキスト インデックスではその位置が考慮されます。たとえば、"Instructions are applicable to these Adventure Works Cycles models" という句があるとします。以下のテーブルは、句の中の語の位置を表しています。
単語 |
位置 |
---|---|
Instructions |
1 |
are |
2 |
applicable |
3 |
to |
4 |
these |
5 |
Adventure |
6 |
Works |
7 |
Cycles |
8 |
models |
9 |
位置 2、4、および 5 にあるストップ ワード "are"、"to"、"these" は、フルテキスト インデックスから除外されます。ただし、その位置情報は保持されるため、語句内の他の語の位置は変わりません。
ストップ リスト
SQL Server 2008 では、ストップ ワードは、ストップ リストと呼ばれるオブジェクトを使用してデータベースで管理されます。ストップ リストは、フルテキスト インデックスに関連付けられている場合、そのインデックスのフルテキスト クエリに適用されるストップ ワードの一覧です。
ストップ リストの作成
ストップ リストは、次のいずれかの方法で作成できます。
システムに備わっているストップ リストをデータベースで使用します。SQL Server には、最も頻繁に使用するストップ ワードを含むシステム ストップ リストが、サポート対象の言語ごとに用意されています。つまり、既定で、特定のワード ブレーカに関連付けられている言語ごとにストップ リストが用意されています。システム ストップ リストには、サポートされているすべての言語に対して一般的なストップ ワードが含まれています。システム ストップ リストをコピーし、ストップ ワードを追加したり削除したりすることにより、そのコピーをカスタマイズできます。
システム ストップ リストは Resource データベースにインストールされます。
指定した任意の言語について独自のストップ リストを作成した後、ストップ ワードを追加します。必要に応じて、ストップ リストからストップ ワードを削除することもできます。
現在のサーバー インスタンスで他のデータベースの既存のカスタム ストップ リストを使用して、必要に応じて、ストップ ワードを追加および削除します。
重要 |
---|
CREATE FULLTEXT STOPLIST、ALTER FULLTEXT STOPLIST、および DROP FULLTEXT STOPLIST は、互換性レベル 100 でのみサポートされています。互換性レベルが 80 および 90 の場合、これらのステートメントはサポートされません。ただし、システム ストップ リストはどの互換性レベルでも、自動的に新しいフルテキスト インデックスに関連付けられます。 |
ストップ リストを作成するには
ストップ リストに対してストップ ワードを追加または削除するには
ストップ リストを削除するには
クエリでのストップ リストの使用
ストップ リストをクエリで使用するには、ストップ リストをフルテキスト インデックスに関連付ける必要があります。インデックスの作成時にストップ リストをフルテキスト インデックスにアタッチしたり、後でインデックスを変更してストップ リストを追加したりできます。
フルテキスト インデックスを作成してストップ リストを関連付けるには
既存のフルテキスト インデックスに対してストップ リストの関連付けまたは関連付け解除を行うには
ストップ ワードがあるためにフルテキスト クエリのブール演算が失敗する場合にエラー メッセージを非表示にするには
ストップ リストとストップ リスト メタデータの表示
ストップ リストのすべてのストップ ワードを表示するには
現在のデータベース内にあるすべてのストップ リストに関する情報を取得するには
ワード ブレーカ、類語辞典、およびストップ リストの組み合わせによるトークン化の結果を表示するには