我正在为我的网站构建一个小搜索功能。我正在获取用户的查询,对关键词进行词干化,然后针对词干化的关键词运行全文 MySQL 搜索。
问题是 MySQL 将词干视为文字。这是正在发生的过程:
- 用户搜索“棒球”之类的词
- 我的词干算法(Porter Stemmer)将“棒球”变成“棒球”
- 全文没有找到任何匹配“basebal”的内容,即使应该有“baseball”和“baseballs”的匹配项
如何使用全文执行相当于 LIKE 'basebal%' 的操作?
编辑:
这是我当前的查询:
SELECT MATCH (`title`,`body`) AGAINST ('basebal') AS `relevance`,`id` FROM `blogs` WHERE MATCH (`title`,`body`) AGAINST ('basebal') ORDER BY `relevance` DESC