我正在为我的网站构建一个小搜索功能。我正在接受用户的查询,提取关键字,然后针对提取的关键字运行全文 MySQL 搜索。

问题是 MySQL 将词干视为文字。这是正在发生的过程:

  • 用户搜索诸如“棒球”之类的词
  • 我的词干提取算法 (Porter Stemmer) 将“棒球”变成“棒球”
  • 全文未找到任何匹配“棒球”的内容,即使“棒球”和“棒球”应该匹配

  • 我如何用全文做 LIKE 'basebal%' 的等价物?

    编辑:

    这是我当前的查询:
    SELECT MATCH (`title`,`body`) AGAINST ('basebal') AS `relevance`,`id` FROM `blogs` WHERE MATCH (`title`,`body`) AGAINST ('basebal') ORDER BY `relevance` DESC
    

    最佳答案

    我认为它会在最后使用星号: basebal* 。有关更多信息,请参阅 this page 上的 * 运算符。

    关于带有词干的 MySQL 全文,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2062101/

    10-12 16:41