带词干的 MySQL 全文

标签 mysql full-text-search stemming

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

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

  1. 用户搜索“棒球”之类的词
  2. 我的词干提取算法 (Porter Stemmer) 将“baseballs”变成了“basebal”
  3. 全文没有找到任何匹配“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

最佳答案

我认为它可以在末尾使用星号:basebal*。请参阅 this page 上的 * 运算符了解更多信息。

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

相关文章:

node.js - MongoDB 从文本搜索中排除精确匹配

mysql - 获取从模型到 View 的字段的可能枚举值

MySQL:为什么全文中的分数总是 1?

mongodb - 在俄语的 mongodb 中进行全文搜索

django - 使用ElasticSearch在Haystack中进行多语言词源分析

python - 词干提取过程在 Python 中不起作用

algorithm - 词干提取——代码示例还是开源项目?

python - 如何提取具有最大值的 Django 对象?

php - MySQL 启动错误 - 缺少根元素

mysql - SELECT DISTINCT 数据不同但未被过滤