【发布时间】:2012-07-17 01:22:33
【问题描述】:
我正在使用 MySQL 和 PHP 为我的网站创建一个简单的搜索功能。现在,如果在搜索栏中输入单词“cat”,我将无法检索带有单词“cats”的文章,反之亦然。结尾的“ed”也是一样。
我能想到的解决这个问题的唯一方法是从每个长度超过一定长度的单词的末尾删除所有“s”和“ed”(以避免将“Ted”变成“T” , ETC)。然而,这个简单的解决方案远非完美。我希望有人可以为我提供更好的解决方案。
【问题讨论】:
-
但
-ed并非总是如此。不规则的人(被抓、喂、跑等)呢?您不能总是通过简单的字符串操作将过去时转换为现在(或无限)。你需要一本字典。另外,您打算如何区分名词(搜索不应该计算-ed和应该计算的动词)? -
@PhpMyCoder:我做不到,这正是我在 SO 上问这个问题的原因。否则我可以简单地删除所有“ed”,我的所有问题都会得到解决。