选择具有模式匹配的记录
我的表格在 searchtxt 字段中有文本“约翰·史密斯先生”,即使用户输入类似以下任何一项的输入,我也想搜索此文本:-“mrjohan”或“史密斯先生”或“约翰先生”或“MR.johan” ,“Nomatch word johan”等。但查询结果应选择johan smith先生的记录。我如何搜索该记录以匹配上述模式。
到目前为止,我已经尝试过这个查询:-
select t.* from temp_textsearch t
where t.searchtxt like '%UserInput%'
但不能成功,有 REGEXP 的想法吗?
多谢 ... :)
My table has text in searchtxt field "Mr. johan smith" and i want to search this text even if the user enters inputs like any one :- "mrjohan" or "mr smith" or "mr johan" or "MR.johan","Nomatch word johan" etc. But the Mr. johan smith's record should be selected as a result from query. How can i search that record to matching above pattern.
So far i have tried with this query:-
select t.* from temp_textsearch t
where t.searchtxt like '%UserInput%'
But can't success, any idea with REGEXP to do it ?
Thanks a lot ... :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议使用全文搜索引擎,例如 Sphinx。
I'd recommend to use a fulltext search engine like Sphinx.
也许 SQL 函数 FULLTEXT 很有用:
http://dev.mysql.com/doc/refman/5.0 /en/fulltext-search.html
另一种解决方案是在使用
LIKE
之前对输入进行预处理Maybe the SQL function FULLTEXT can be usefull :
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
An other solution is to pre-process the input before using
LIKE