次の方法で共有


フルテキスト検索の動作の変更

このトピックでは、フルテキスト検索の動作変更について説明します。 動作の変更は、以前のバージョンの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検索とセマンティック検索で使用されるすべてのワード ブレーカーとステマーが更新されます。 インデックスのコンテンツとクエリの結果の一貫性を保つために、既存のフルテキスト インデックスを再作成することをお勧めします。

  1. 英語向けの新しいワード ブレーカーがあります。 以前の動作を維持する必要がある場合は、「 米国英語と英国英語に使用されるワード ブレーカーの変更」を参照してください。

  2. 以前のリリースのSQL Serverに含まれていたデンマーク語、ポーランド語、トルコ語用のサードパーティ製ワード ブレーカーは、Microsoft コンポーネントに置き換えられました。 新しいコンポーネントは既定で有効になっています。

  3. チェコ語とギリシャ語向けの新しいワード ブレーカーがあります。 SQL Server Full-Text Search の以前のリリースでは、これら 2 つの言語のサポートは含まれていませんでした。

新しいワード ブレーカーとステミング機能の動作の変更

新しいコンポーネントでは、フルテキスト インデックスを作成してクエリを行ったときに、古いコンポーネントとは異なる結果が返されることがあります。 次の表は、英語の結果で予想される相違点を示しています。

ワード ブレーカーとステミング機能の以前の動作を維持する必要がある場合は、次のトピックを参照してください。

新しいコンポーネントは、次のような 詳細 な結果を返す場合があります。

用語 ワード ブレーカーとステミング機能が以前のバージョンの場合の結果 ワード ブレーカーとステミング機能が新しい場合の結果
cat-dog cat

dog
cat

cat-dog

dog
cat@dog.com cat

com

dog
cat

cat@dog.com

com

dog
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:49AM

(用語は時刻です)
10:49AM

tt1049
10:49AM

tt24104900

新しいコンポーネントは、次のような 少数 の結果またはアプリケーションで予期できない結果を返す場合があります。

用語 ワード ブレーカーとステミング機能が以前のバージョンの場合の結果 ワード ブレーカーとステミング機能が新しい場合の結果
jěˊÿqCžl

(用語が、有効な英語の文字ではありません)
'jěˊÿqCžl' je yq zl
table's table's

テーブル
table's
cat- cat

cat-
cat
v-z*(v と z はノイズ ワード)* (結果なし) v-z
$100 000 USD $100

000

nn000

nn100$

usd
$100 000 USD

nn100000usd
beautiful U.S land beautiful

land

u.s

us
beautiful

land
Mt. Kent and Mt Challenger challenger

kent

mt

Mt.
mt

kent

challenger

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 データベースが 2008 以降のバージョンSQL Serverにアップグレードされたときにフルテキスト カタログがインポートされた場合、フルテキスト カタログのフルテキスト インデックスで使用される 1 つ以上の言語が、インポートされたワード ブレーカーとは若干異なる動作をする新しいワード ブレーカーに関連付けられるようになりました。 クエリとフルテキスト インデックスコンテンツの間の一貫性を確保する方法の詳細については、「 Full-Text検索のアップグレード」を参照してください。

  • 新しい FDHOST ランチャー (MSSQLFDLauncher) サービスが追加されました。 詳細については、「 Full-Text検索の概要」を参照してください。

  • フルテキスト インデックス作成は、列と同じ方法で FILESTREAM 列で varbinary(max) 動作します。 FILESTREAM テーブルに、各 FILESTREAM BLOB のファイル名拡張子を含む列が含まれている必要があります。 詳細については、「Full-Text検索を使用したクエリ」、「検索のフィルターの構成と管理」、「sys.fulltext_document_types (Transact-SQL)」を参照してください。

    フルテキスト エンジンは、FILESTREAM BLOB の内容のインデックスを作成します。 イメージなど、インデックスを作成しても役に立たないファイルもあります。 FILESTREAM BLOB が更新されると、インデックスが再作成されます。

参照

フルテキスト検索
フルテキスト検索における旧バージョンとの互換性
フルテキスト検索のアップグレード
フルテキスト検索の概要