Mysql Select Query with match and against issue


Mysql Select Query with match and against issue

这是我执行搜索

的代码
 SELECT d.deal_id,
    d.deal_title,
    d.friendly_url
    FROM wp_deals AS d
   WHERE MATCH (d.deal_title) AGAINST ('Historic China eight day tour' IN BOOLEAN MODE)
   GROUP BY d.deal_id

很好。然后给出14个结果。其中之一是

大沙海峡两夜自然邂逅之旅双人游+日落游船更多。高达1071美元的折扣!

但是当我搜索"with"或"more"时,它变成了

SELECT d.deal_id,
   d.deal_title,
   d.friendly_url
 FROM wp_deals AS d
WHERE MATCH (d.deal_title) AGAINST ('more' IN BOOLEAN MODE)
GROUP BY d.deal_id

 SELECT d.deal_id,
   d.deal_title,
   d.friendly_url
   FROM wp_deals AS d
   WHERE MATCH (d.deal_title) AGAINST ('with' IN BOOLEAN MODE)
   GROUP BY d.deal_id

和不给出任何结果,尽管with和more都是它们。我不是这方面的专家。

,

当我搜索"tour"时,这也是他们的,它工作得很好。他们怎么了。不能理解为"tour"、"with"answers"more"都包含四个字母,而且它们的标题也是四个字母。

You People are Genius.

你的建议,这样它会锻炼。

在布尔型全文搜索中,停止词列表适用,常用词如" some "或" then "…是停止词,如果在搜索字符串中存在则不匹配:http://dev.mysql.com/doc/refman/5.5/en//fulltext-boolean.html

停词列表:http://dev.mysql.com/doc/refman/5.0/en/fulltext-stopwords.html

最著名的解决方案是禁用列表或从中添加/删除值:如何重置MYSQL中的停止词?

:

SELECT d.deal_id,
   d.deal_title,
   d.friendly_url
FROM 
   wp_deals AS d
WHERE MATCH (d.deal_title) AGAINST ('+more*' IN BOOLEAN MODE)
GROUP BY d.deal_id