おそらくnoobの質問ですが、それでもやります。SQL Server 2008における結合された階層レコードの全文検索
例として、私はPersonテーブル、Tagテーブル、ContactMethodテーブルを持っています。 Personには、複数のTagレコードと複数のContactMethodレコードが関連付けられます。
私は各テーブルからいくつかのフィールドを検索する寛大な検索をしたいと思います。だから私はContactMethodを使って電子メールで人を見つけ出すことができます。
FTSに完全にnoobのよう、二つのアプローチが頭に浮かぶ:
- は
- 個別に各フィールドを扱ういくつかの複雑なクエリがインデックスに私がしたいフィールドを連結したルックアップテーブルのいくつかの並べ替えを構築構築し、その派生テーブルに対してフルテキストクエリを実行するだけです。 PERSONID、ContentTypeを、コンテンツ:;
(。明確にするため、編集すること自由に感じ、私は担当者のポイントのためにそれではないよ)
これは一般的なスタックオーバーフローコミュニティのものであるため、これは自分自身からの明確化の要求ではありませんが、フルテキスト検索の仕事は本当ですか? FTSはデータベース内の大きな文字列を検索するためのものですが、これは間違っていますか?記述された名前、連絡先、タグフィールドが私にとっては小さいと考えられるので、これはたくさんのLIKEクエリで処理できないでしょうか? –
@Ken:サイズの問題だけでなく、シソーラス、ワードブレーカー、ステマーなどのように、FTSは言語的なことをすることはできません。 –
MSは良い記事http://technet.microsoft.com/en-us /library/ms345119(SQL.90).aspx "何百万行ものテキスト・データに対するLIKE問合せ(たとえば '%cencini%')は戻すには数分かかることがありますが、フルテキスト問合せ( 'cencini'返される行の数に応じて、同じデータに対して数秒かかります。 – u07ch