3

私は使っているSQL Server 2008

DDL

CREATE TABLE [dbo].[t](
    [words] [varchar](1000) NULL,
    [id] [int] IDENTITY(1,1) NOT NULL
) ON [PRIMARY]

DML

insert into t(words)values('this is my laptop')
insert into t(words)values('this does not contains headphone')

SQL クエリ

SELECT *
FROM 
t as t
JOIN CONTAINSTABLE(t, words,'"headphone*"', 10) fulltextSearch
ON
t.Id = fulltextSearch.[KEY]

結果

レコードが見つかりません

私は1つのレコードを期待しています。何か案が?

4

1 に答える 1

3

'this' はノイズ ワード ('the'、'and' など) である可能性が非常に高いため、インデックスには含まれません。テキスト内の実際の単語の 1 つを検索してみてください。

- 編集 -

わかりました、そうではありませんでした...

私はあなたのコードを試してみましたが、期待どおりに機能しました.クエリは1つのレコードを返しました. 唯一の違いは、[id] を主キーとして定義したことです (これも行っている必要があります。そうしないと、インデックスを作成できませんでした)。SSMS でテーブルを右クリックし、[全文インデックス] -> [完全な作成を開始] を選択します。

于 2012-08-16T19:44:16.047 に答える