我正在寻求有关 MySQL 中的 全文 搜索的帮助。我有两个表,文章和关键字。
文章:id int,描述 (varchar(600)) 关键字:id int,值 (varchar(50)),article_id int
一篇文章可以有多个关键字。例如: id:1,关键字1,文章id:1 id:2,关键字2,文章id:1 ID:3,关键字1,文章ID:2 id:4,关键字3,文章id:1
如何正确对这些数据进行全文检索?具体来说,我需要在 article.description 和 keywords.value 中搜索。它必须是组合全文检索。我需要它尽可能高效和快速,但我不确定,因为它是一对多关系,它是否会很慢以及我是否正确存储了数据。
如有任何建议,我将不胜感激。
我尝试使用左连接和子查询进行sql查询,但我不确定这是否是正确的方法。
我认为你应该做这样的事情
SELECT a.id AS article_id,
a.description AS article_description,
k.value AS keyword_value
FROM Article a
JOIN Keyword k ON a.id = k.article_id
WHERE a.description LIKE '%search_term%'
OR k.value LIKE '%search_term%'
ORDER BY a.id;