MySQL 加入和匹配/针对搜索失败

发布于 2024-11-06 08:57:46 字数 490 浏览 3 评论 0 原文

我基本上是想创建一个搜索来查找文章(或作者的文章)。我最终得到了这个查询:

   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”(存在)的文章,则不会匹配。

I'm basically trying to create a search to find articles (or articles from an author). I've ended up with this query:

   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`

I have made sure that all four matched fields are FULL TEXT indexes. The search matches against and finds all articles made by a user with first name 'Kevin' but will not match if I search for articles named 'Test' (which exists).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明明#如月 2024-11-13 08:57:46

匹配将不会找到“停止”词的分数。

停用词是指出现在 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文