0

在我标准化我的数据库后,我现在在 myiasm 表上使用全文搜索。

我有几个搜索场景

  1. 在“你好朋友”中搜索“你好”

  2. 在“你好朋友,欢迎来到地狱”中搜索“地狱”

  3. 在“和朋友一起玩”中搜索“朋友”

我需要最好的匹配,目前正在使用

SELECT cu.ID as UID ,MATCH cu.content AGAINST  ('hell')  as relevance
FROM cht_user cu 
JOIN cht_agent_script cas ON ( cas.UID = cu.ID AND cas.AID = '315') 
WHERE MATCH cu.content AGAINST ('hell')  
ORDER BY relevance DESC 

问题是

  1. 3号不会给出结果

  2. 2号不会给出结果

  3. 1 号是唯一可行的

4

1 回答 1

0

首先,正如他们在这篇文章中解释的那样,向您的表中添加更多数据。

其次,查看全文停用词:http: //dev.mysql.com/doc/refman/5.1/en/fulltext-stopwords.html

Mysql 忽略单词列表,您可以在该链接中看到它们。全文搜索会忽略“hello”。

因此,请尝试将更多记录添加到您的表中。然后重做全文索引:

OPTIMIZE TABLE cht_user;

如果您仍然遇到问题,请告诉我

希望这可以帮助你

于 2012-12-10T11:04:08.447 回答