我正在尝试在登录表上实现全文搜索,当我执行相应的查询时,以下是我的观察结果:
当我执行以下执行全文搜索的查询时,它能够获取近似 1665行
select * from t_user where contains(LOGIN_ID, '"*david*" )
但是在使用以下内容实现类似查询而不使用全文搜索时,它返回 1872行
select * from T_USER where LOGIN_ID like '%david%'
当我浏览我的表中的数据时,我得出的结论是,当我使用contains关键字时,它忽略了具有登录ID的行,如 DDAVID_D ,或者我可能会说它只是返回大卫单词分隔的行,如 DAVID_FRANK 。
有没有办法在单词之间搜索一个单词(比如在DDavidFrank之间搜索David,或者我可以在DDAVIDFRANK中搜索david字符串的长连续单词)以实现全文有效搜索?
答案 0 :(得分:0)
试
WHERE FREETEXT(LOGIN_ID, 'david') OR CONTAINS(LOGIN_ID, 'david')"
答案 1 :(得分:0)
尝试此查询:
SELECT * from t_user WHERE CONTAINS(LOGIN_ID, '"david"' )