MySQL带标签的布尔搜索

问题描述 投票:5回答:6

我以前从未完成过从MYSQL进行搜索,但是我需要实现搜索。我有三个表:articlesarticles_tagstags

articles包含我要搜索的第一件事,title字段。

articles_tags是将articlestags关联在一起的数据透视表。 articles_tags有两个字段,分别是:articles_idtag_id

并且,表tags包含我想搜索的第二件事,name字段。

我的问题是,我需要一种方法来搜索title字段,以及与该文章相关的每个标签(tags.name),并返回特定文章的相关性(或按相关性排序)。

什么是实现此目标的好方法?我敢肯定,仅通过一个查询就无法完成,因此可以进行两个查询,然后再将mixing关联起来,就可以了。

谢谢。

Edit:

忘了说了,如果我可以给匹配标签多得多的权重,而不是匹配标题中的单词,那真是太棒了。我并不是真的要别人写东西,而是给我一些指导。我在PHP和MySQL中都是新手。

我以前从未完成过从MYSQL进行搜索,但是我需要实现搜索。我有三个表:articles,articles_tags和tag。表格文章包含我想搜索的第一件事...

mysql search full-text-search tags
6个回答
2
投票

[从@ james.c.funk给出的答案开始,但要进行一些更改。


2
投票

这时是否值得,建议您考虑将搜索工作转移到仅为该目的而实际编写的内容上?


1
投票

过去我是这样做的。它看起来很慢,但我想您会发现它不是。


0
投票

很有趣,这是我在两天内看到的几乎相同的问题的第三个问题,请查看以下两篇文章:12


0
投票

您可能想研究狮身人面像,http://www.sphinxsearch.com/


0
投票

此快速演示查询远未优化,但应该是一个很好的起点

© www.soinside.com 2019 - 2024. All rights reserved.