2

ログインテーブルに全文検索を実装しようとしています。それぞれのクエリを実行しているときの観察結果は次のとおりです。

全文検索を実装する次のクエリを実行すると、約1665 行を取得できます。

select * from t_user where contains(LOGIN_ID, '"*david*" )

ただし、以下を使用して全文検索を使用せずに同様のクエリを実装すると、1872行が返されます

select * from T_USER where LOGIN_ID like '%david%'

テーブル内のデータをブラウズしたときに、contains キーワードを使用すると、 DDAVID_Dのようなログイン ID を持つ行が無視されているか、 DAVID_FRANKのように区切られたデビッド ワードを持つ行のみが返されているという結論に達しました。 .

全文検索を効果的に実装するために、単語間の単語を検索する方法はありますか (DDavidFrank の間で David を検索するか、 DDAVIDFRANK のように長い連続した単語の間で david 文字列を検索する場合があります) 。

4

2 に答える 2

0

試す

WHERE FREETEXT(LOGIN_ID, 'david') OR CONTAINS(LOGIN_ID, 'david')"
于 2011-10-13T12:54:09.707 に答える
0

Try this query :

SELECT * from t_user WHERE CONTAINS(LOGIN_ID, '"david"' )
于 2020-05-22T08:31:36.123 に答える