1

関数を使用してステートメントを呼び出しますCONTAINSが、正しいレコードが返されないことがあります。たとえば、1 つのフィールドに「Your」という単語を含む行を返したい場合などです。

SELECT [Email]
      ,[Comment]
  FROM [USERS]
  WHERE CONTAINS(Comment, 'Your')

このフィールドにこの単語が含まれているにもかかわらず、結果は mi 0 になります (「as」、「to」、「was」、「me」と同じ)。「Your」の代わりに「given」を使用すると、結果が返されます。で使用できない単語のリストはありますCONTAINSか? それとも、この単語は短すぎますか (「名前」を使用すると結果が返されます)。作品「あなたの」はフィールドの冒頭にありますComment

フィールドのタイプは「テキスト」で、フルテキスト インデックスが有効になっています。

4

1 に答える 1

2

あなたが言及したような言葉は「ストップワード」です。それらは非常に一般的であるため (したがって、検索の意味がないため)、全文検索でのインデックス作成および検索から明示的に除外されます。たとえば、Google で検索すると、同じことがわかります。

リストを編集することは可能ですが、おそらく単語を追加する場合を除いて、編集することは避けたいと思います。リスト内の単語は、検索での有用性の欠如のために非常にうまく選択されています.

于 2012-10-30T09:28:18.677 に答える