【发布时间】:2013-06-01 01:49:13
【问题描述】:
我正在开发一个电子邮件应用程序。这是背景:
- 电子邮件地址存储在
addresses表中 - 消息内容存储在
message_contents表中
页面顶部有一个搜索栏,操作流程将是用户键入以下内容,例如:Jonathan Kushner programming,它会向下钻取到在这种情况下它所在的位置一封电子邮件,地址中包含 Jonathan Kushner,邮件正文中包含“programming”一词。
这就是问题所在。目前,我正在对匹配用户查询的电子邮件地址执行 MySQL LIKES,以及对匹配用户查询的消息内容执行 MySQL LIKES。问题是,就我们的示例而言,它永远不会找到与Jonathan Kushner programming 匹配的电子邮件地址,并且它不会匹配任何显示Jonathan Kushner programming 的正文内容。
因此,话虽如此,我需要完成的是能够以某种方式识别查询输入并发现什么是名称和什么是正文内容。我无法理解我是世界上第一个将地址与数据库中的正文内容分开的人,所以它肯定是可能的。
也许我应该设置它,这样用户必须在查询的第一个单词中输入姓名或电子邮件地址,然后在 X 个单词之后,他们才能输入内容中的关键字。我真的不喜欢这个想法,它不能工作,因为如果用户没有名字或电子邮件地址来搜索整个理论是失败的,但我只是不知道如何解决这个问题。
另一个想法是可能分离单词并对每个单词和单词组合执行逻辑。
任何帮助将不胜感激。
【问题讨论】:
-
查看 Outlook 或 gmail,搜索时指定搜索邮件正文或电子邮件地址或姓名,我认为这是更好的方法
标签: php mysql email search full-text-search