MySQL 加入和匹配/针对搜索失败
我基本上是想创建一个搜索来查找文章(或作者的文章)。我最终得到了这个查询:
SELECT `articles`.*, `authors`.*
FROM `articles`
LEFT JOIN `authors` ON (`authors`.`id` = `articles`.`author_id`)
WHERE MATCH (`articles`.`title`, `articles`.`description`)
AGAINST ("test")
OR MATCH (`authors`.`first_name`, `authors`.`last_name`)
AGAINST ("test")
GROUP BY `articles`.`id`
我已确保所有四个匹配的字段都是全文索引。搜索会匹配并找到由名字为“Kevin”的用户发表的所有文章,但如果我搜索名为“Test”(存在)的文章,则不会匹配。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
匹配将不会找到“停止”词的分数。
停用词是指出现在 50% 以上结果中的单词,
或官方停用词列表™中的内容。
请参阅: http://dev.mysql.com/doc/refman /5.5/en/fulltext-stopwords.html
并且: http://dev.mysql.com/doc/refman /5.5/en/fulltext-search.html
对于微调匹配,请参阅:http://dev.mysql.com/doc/refman/5.5/en/fulltext-fine-tuning.html
Match against will not find a score for "stop" words.
Stop words are words that occur in 50%+ of the results,
or that are in the official stop word list™.
See: http://dev.mysql.com/doc/refman/5.5/en/fulltext-stopwords.html
And: http://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html
For finetuning Match Against see: http://dev.mysql.com/doc/refman/5.5/en/fulltext-fine-tuning.html