0

我有一个所有标记的站点列表。我对使用快速且允许“否定”标签的查询感到困惑。换句话说,就像当您搜索 Google 时说 -yahoo 会搜索不包含 yahoo 的结果。

我遇到的问题是标签在网站方面。因此,如果用户搜索 yahoo,该站点将被标记为 -yahoo,因此即使它与其他所有标记匹配,它也不会显示结果。

表的结构是:

网站:ID|其他东西..

标签:ID|Tag(其中标签是 yahoo 或 -yahoo)

任何帮助将非常感激!

4

1 回答 1

0

您可能应该重新设计标签表,以便有一个评级字段,例如一个简单的

id | tag | rating (bit)

所以你只在字段中存储“雅虎” tag,并在评级字段中保留 +/- 的东西。

... WHERE tag='yahoo' AND rating=XXX

如果你不能返工,那么你将不得不修改你的 where 子句

... WHERE tag='yahoo' OR tag='-yahoo'
于 2013-04-05T14:57:02.213 回答