【发布时间】:2012-12-24 20:58:42
【问题描述】:
这是我执行搜索的代码
SELECT d.deal_id,
d.deal_title,
d.friendly_url
FROM wp_deals AS d
WHERE MATCH (d.deal_title) AGAINST ('Ultimate Revitalisation Kit' IN BOOLEAN MODE)
GROUP BY d.deal_id
效果很好。
但是当我搜索 Kit 时,它变成了
SELECT d.deal_id,
d.deal_title,
d.friendly_url
FROM wp_deals AS d
WHERE MATCH (d.deal_title) AGAINST ('Kit' IN BOOLEAN MODE)
GROUP BY d.deal_id
并且没有给出任何结果,尽管之前的搜索结果中有 kit。我不是这类搜索查询的专家。但我不得不问,搜索查询不应该使用类似的关键字,即“%kit%”。所以这就是我使用对抗和匹配的原因。有人精通这种高级查询吗?你能让它成为一个出色的搜索查询吗? 请完善。所以看起来比简单的like查询要好。
【问题讨论】:
-
如果将
'Ultimate Revitalisation Kit'更改为'Ultimate%Revitalisation%Kit'会有什么结果? -
看到了这个earlier thread,这个人正在搜索关键字
foo和bar,就像这个MATCH (t1.foo_desc, t2.bar_desc) AGAINST ('+foo* +bar*' IN BOOLEAN MODE) -
我不会将“Ultimate Revitalization Kit”更改为“Ultimate%Revitalisation%Kit”。我说的是当我使用 Ultimate Revitalization Kit 搜索时。它会给出结果。一个结果是“Ultimate Revitalization Kit”。但是当我使用单个关键字搜索时,即 Kit 它什么也没提供。