2

フルテキスト インデックスが作成されたデータベース テーブルがあり、CONTAINS 関数を使用して検索クエリを実行します。

私がする時:

SELECT * FROM Plants WHERE CONTAINS(Plants.Description, '"Plant*" AND "one*"');

「Plant」と「one」という単語を含む説明に一致するすべての正しい結果が返されます。

「Plant 1」、「Plant 2」などと名前が付けられている植物がありますが、これが問題です。

これを行うと、結果が得られません:

SELECT * FROM Plants WHERE CONTAINS(Plants.Description, '"Plant*" AND "1*"');

理由を知っている人はいますか?

4

2 に答える 2

2

「and」や「the」など、キーワード検索で索引付けされていない一般的に使用される単語のリストがあります。

「1」というテキストもそのリストに表示されていると思います。したがって、インデックスに表示されず、CONTAINS 句で見つけることができません。

私の記憶が正しければ、一般的な単語のリストを編集できる管理インターフェイスがあります。数年前に一度編集してみましたが、編集後は違いがわからず苦労したことを覚えています。

于 2010-03-25T13:31:01.503 に答える
0

ダーンは正しいです。1.検索語のいずれか*の側にワイルドカードを配置すると、その位置に関係なく、文字列全体で検索語が検索されます。

于 2010-03-25T13:24:23.403 に答える