このトピックでは、フルテキスト検索での動作の変更について説明します。 動作の変更は、以前のバージョンの SQL Server と比較して、SQL Server 2014 での機能の動作または対話方法に影響します。
SQL Server 2014 での Full-Text 検索の動作の変更
後で提供される情報。
SQL Server 2012 での Full-Text 検索での動作の変更
SQL Server 2012 では、米国英語 (LCID 1033) と英国英語 (LCID 2057) 用のワード ブレーカーとステマーの新しいバージョンがインストールされます。 ただし、以前の動作を保持する場合は、これらのコンポーネントの以前のバージョンに切り替えることができます。 詳細については、「 米国英語と英国英語で使用されるワード ブレーカーを変更する」を参照してください。
新しいワード ブレーカーとステマーがインストールされました
SQL Server 2012 では、Full-Text 検索とセマンティック検索で使用されるすべてのワード ブレーカーとステマーが更新されます。 インデックスの内容とクエリの結果を一貫性を保つため、既存のフルテキスト インデックスを再作成することをお勧めします。
英語用の新しいワード ブレーカーがあります。 以前の動作を保持する必要がある場合は、「 米国英語と英国英語で使用されるワード ブレーカーを変更する」を参照してください。
以前のリリースの SQL Server に含まれていたデンマーク語、ポーランド語、トルコ語用のサード パーティ製ワード ブレーカーは、Microsoft コンポーネントに置き換えられました。 新しいコンポーネントは既定で有効になっています。
チェコ語とギリシャ語の新しいワード ブレーカーがあります。 SQL Server Full-Text Search の以前のリリースでは、これら 2 つの言語のサポートは含まれていませんでした。
新しいワードブレーカーとステマーの動作変化
フルテキスト インデックスを設定してクエリを実行すると、新しいコンポーネントから古いコンポーネントとは異なる結果が返される場合があります。 次の表は、英語の結果で期待できる違いをいくつか示しています。
ワード ブレーカーとステマーの以前の動作を保持する必要がある場合は、次のトピックを参照してください。
場合によっては、新しいコンポーネントにより 多くの 結果が返されます。
| 用語 | 以前のワード ブレーカーとステミング機能を使用した結果 | 新しいワード ブレーカーとステマーを使用した結果 |
|---|---|---|
| 猫犬 | 猫 犬 |
猫 猫-犬 犬 |
| cat@dog.com | 猫 com 犬 |
猫 cat@dog.com com 犬 |
| 12/11/2011 (用語が日付である場合) |
12/11/2011 dd20111211 |
11 12 12/11/2011 2011 dd20111211 |
場合によっては、新しいコンポーネントでも同様の結果 が 返されます。
| 用語 | 以前のワード ブレーカーとステミング機能を使用した結果 | 新しいワード ブレーカーとステマーを使用した結果 |
|---|---|---|
| 100$ | 100$ nn100$ |
100$ nn100usd |
| 022 | 022 nn022 |
022 nn22 |
| 午前 10:49 (用語が時刻である場合) |
午前 10:49 tt1049 |
午前 10:49 tt24104900 |
場合によっては、新しいコンポーネントによって返される結果が 少なく 、アプリケーションによって予期しない結果になる可能性があります。
| 用語 | 以前のワード ブレーカーとステミング機能を使用した結果 | 新しいワード ブレーカーとステマーを使用した結果 |
|---|---|---|
| jěˊÿqCžl (用語が有効な英語文字ではない場合) |
'jěˊÿqCžl' | je yq zl |
| テーブルの | テーブルの テーブル / 表 |
テーブルの |
| 猫- | 猫 猫- |
猫 |
| v-z*(v と z はノイズ ワード)* | (結果なし) | v-z |
| $100 000 USD | 100 ドル 000 nn000 nn100$ usd |
$100 000 usd nn100000usd |
| 美しい米国の土地 | 美しい 土地 u.s 私達 |
美しい 土地 |
| Mt. ケントとマウントチャレンジャー | 挑戦者 ケント 山 山。 |
山 ケント 挑戦者 |
SQL Server 2008 での Full-Text 検索での動作の変更
SQL Server 2008 以降のバージョンでは、Full-Text エンジンはデータベース サービスとして、サーバー クエリおよびストレージ エンジン インフラストラクチャの一部としてリレーショナル データベースに統合されます。 新しいフルテキスト検索アーキテクチャは、次の目標を達成します。
統合ストレージと管理フルテキスト検索は、SQL Server 固有のストレージおよび管理機能と直接統合され、MSFTESQL サービスは存在しなくなりました。
フルテキスト インデックスは、ファイル システムではなく、データベース ファイル グループ内に格納されます。 データベースに対する管理操作 (バックアップの作成など) は、フルテキスト インデックスに自動的に影響します。
フルテキスト カタログは、どのファイル グループにも属さない仮想オブジェクトになりました。これは、フルテキスト インデックスのグループを参照する論理的な概念です。 そのため、多くのカタログ管理機能は非推奨とされ、非推奨化によって一部の機能に破壊的変更が生まれています。 詳細については、「 SQL Server 2014 の非推奨のデータベース エンジン機能 」および 「Full-Text 検索の破壊的変更」を参照してください。
注
SQL Server 2005 Transact-SQL フルテキスト カタログを指定する DDL ステートメントが正しく機能します。
統合クエリ処理 - 新しいフルテキスト検索クエリ プロセッサはデータベース エンジンの一部であり、SQL Server クエリ プロセッサと完全に統合されています。 つまり、クエリ オプティマイザーはフルテキスト クエリ述語を認識し、可能な限り効率的に自動的に実行します。
管理とトラブルシューティングが強化された統合フルテキスト検索では、フルテキスト インデックス、特定のワード ブレーカーの出力、ストップワード構成などの検索構造を分析するのに役立つツールが提供されます。
ストップワードとストップリストは、ノイズワードとノイズワードファイルを置き換えました。 ストップリストは、ストップワードの管理容易性タスクを容易にし、さまざまなサーバー インスタンスと環境間の整合性を向上させるデータベース オブジェクトです。 詳細については、「 フルテキスト検索に使用するストップワードとストップリストの構成と管理」を参照してください。
SQL Server 2008 以降のバージョンには、SQL Server 2005 に存在する多くの言語用の新しいワード ブレーカーが含まれています。 英語、韓国語、タイ語、中国語 (すべてのフォーム) のワード ブレーカーのみが同じままです。 他の言語では、SQL Server 2005 データベースが SQL Server 2008 以降のバージョンにアップグレードされたときにフルテキスト カタログがインポートされた場合、フルテキスト カタログのフルテキスト インデックスで使用される 1 つ以上の言語が、インポートされたワード ブレーカーとは若干異なる動作をする可能性がある新しいワード ブレーカーに関連付けられる可能性があります。 クエリとフルテキスト インデックスコンテンツの整合性を確保する方法の詳細については、「Full-Text 検索のアップグレード」を参照してください。
新しい FDHOST Launcher (MSSQLFDLauncher) サービスが追加されました。 詳細については、「 Full-Text 検索の概要」を参照してください。
フルテキスト インデックス作成は、
varbinary(max)列の場合と同じ方法で FILESTREAM 列で動作します。 FILESTREAM テーブルには、各 FILESTREAM BLOB のファイル名拡張子を含む列が必要です。 詳細については、「Full-Text 検索を使用したクエリ、検索のフィルターの構成と管理、およびsys.fulltext_document_types (Transact-SQL)」を参照してください。フルテキスト エンジンは、FILESTREAM BLOB の内容にインデックスを付けます。 画像などのファイルのインデックス作成は役に立たない場合があります。 FILESTREAM BLOB が更新されると、インデックスが再作成されます。