フルテキスト インデックスの概要
フルテキスト インデックスの情報は、特定の単語や単語の組み合わせをすばやく検索できるフルテキスト クエリをコンパイルするために Full-Text Engine で使用されます。フルテキスト インデックスには、データベース テーブルの 1 つ以上の列の重要な語およびその場所に関する情報が保存されます。フルテキスト インデックスは、Full-Text Engine for SQL Server により構築および管理されるトークンベースの特殊な機能インデックスです。フルテキスト インデックスの作成手順は、他のタイプのインデックスの作成手順とは異なります。特定の行に格納された値に基づいて B ツリー構造を作成するのではなく、Full-Text Engine は、インデックスを作成するテキストの個々のトークンに基づいて、反転、スタック、および圧縮されたインデックス構造を作成します。SQL Server 2008 では、フルテキスト インデックスのサイズを制限する要因となるのは、SQL Server のインスタンスが実行されているコンピューターで使用できるメモリ リソースのみです。
SQL Server 2008 以降では、フルテキスト インデックスはデータベース エンジンと統合されており、以前のバージョンの SQL Server のようにファイル システムには格納されません。新しいデータベースでは、フルテキスト カタログは、ファイル グループに属さない仮想オブジェクトです。これは、フルテキスト インデックスのグループを指す論理的概念に過ぎません。ただし、SQL Server 2000 データベースまたは SQL Server 2005 データベースをアップグレードする場合は、データ ファイルを含むフルテキスト カタログの新しいファイル グループが作成されます。詳細については、「フルテキスト検索のアップグレード」を参照してください。
注 |
---|
SQL Server 2008 では、Full-Text Engine は、個別のサービスではなく SQL Server プロセス内に存在します。Full-Text Engine をデータベース エンジンに統合することにより、フルテキストの管理、混合クエリの最適化、および全体的なパフォーマンスが向上しています。 |
1 つのテーブルに対し、1 つのフルテキスト インデックスしか使用できません。フルテキスト インデックスをテーブルに作成するためには、一意で NULL が許容されない列がそのテーブルに 1 つ必要です。フルテキスト インデックスを作成できるのは、データ型が char、varchar、nchar、nvarchar、text、ntext、image、xml、varbinary、および varbinary(max) の列です。これらの列には、フルテキスト検索用のインデックスを作成できます。データ型が varbinary、varbinary(max)、image、または xml の列にフルテキスト インデックスを作成する場合は、型列を指定する必要があります。型列は、各行のドキュメントのファイル拡張子 (.doc、.pdf、.xls など) を格納するテーブル列です。
フルテキスト インデックスの構造をよく理解しておくことは、Full-Text Engine の動作を理解するのに役立ちます。詳細については、「フルテキスト インデックスの構造」を参照してください。
フルテキスト インデックスを作成および保守するプロセスを作成 (クロールとも呼ばれます) といいます。フルテキスト インデックスの作成には、完全作成、変更の追跡に基づく作成、およびタイムスタンプに基づく増分作成の 3 種類があります。詳細については、「フルテキスト インデックスのカタログ作成」を参照してください。
フルテキスト インデックスを作成するには
フルテキスト インデックスを変更するには
フルテキスト インデックスを削除するには