关键字和描述的全文 MySQL 搜索(两个不同的表 - 1:N)

问题描述 投票:0回答:1

我正在寻求有关 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.descriptionkeywords.value 中搜索。它必须是组合全文检索。我需要它尽可能高效和快速,但我不确定,因为它是一对多关系,它是否会很慢以及我是否正确存储了数据。

如有任何建议,我将不胜感激。

我尝试使用左连接和子查询进行sql查询,但我不确定这是否是正确的方法。

mysql performance optimization full-text-search
1个回答
0
投票

我认为你应该做这样的事情

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;
© www.soinside.com 2019 - 2024. All rights reserved.