我需要一个适用于MySql数据库的搜索引擎, 而且我在列上有FULLTEXT索引,但出于某种原因 - 有时候他找到了我要求他的东西,有时候却没有 - 而且我真的不明白为什么。
例如,我在MyIsam songs
表中有一个name
列,该列为FULLTEXT编制索引。
我有这些记录:
我的小孩子,不要哭泣
当我执行此查询时:
$query = $msi->query("SELECT `name` FROM songs WHERE MATCH(`name`) AGAINST ('Mine') ");
while($fetch = $query->fetch_assoc())
echo $fetch['name']."<br />";
它找到了它。
但是当我这样做时:
$query = $msi->query("SELECT `name` FROM songs WHERE MATCH(`name`) AGAINST ('Dont') "); // or 'don\'t' , 'dont cry' , 'Don\'t Cry' , etc..
while($fetch = $query->fetch_assoc())
echo $fetch['name']."<br />";
没有。
我真的不明白为什么..
另一个例子是我在同一个表上有另一个artist
列,它有一个记录 - 'Sia'。
即使我在查询中找到'Sia',它也行不通!
有人可以解释我为什么? (这不是因为最小长度 - 我使用in_boolean_mode)
顺便说一下,我使用wampserver,所以我认为它可能与他们的MySql没有更新到它的最后一个版本或类似的东西有关...
请帮忙!我很绝望.. :(
答案 0 :(得分:0)
Dont
是一个停用词
您应该编辑停用词列表