mysql - 使用全文搜索从文本字段中提取特定单词

时间:2011-04-19 06:59:58

标签: mysql full-text-search word extract

我的问题与Extract specific words from text field in mysql有点相似,但现在相同。

我的文字字段里面有文字。在我的语言中,单词可以有许多不同的结尾。我需要找到这个结局。

我使用mysql的全文搜索,但我需要访问索引数据库,其中所有字段都被“剪切”为单词并且单词被计算。然后我可以搜索“test *”,我可以快速找到“test”,“tests”,“testing”。我需要数据库中存在的所有endigns列表,这是我的主要目标。

因为它是我可以获得具有特定“test *”单词的记录,但是我不仅需要在字段中找到出现,而且要以某种方式分组以便我获得所有单词的列表,例如从“测试”开始。我不需要记录它们的位置,只是一个列表,分组,以便“测试”不会被写入10次但只能写入一次(可能是计数器找到了多少次但不是必需的)。

有没有办法从全文搜索字段中提取这些信息,或者我应该将所有这些字段分解为单词并使索引表中充满单词并只是做一个“喜欢”单词%“并按不同结果分组?我是不确定如何在实践中做到这一点,但只是指出我正确的方向。

总而言之:我有一个文本,我需要找出哪些内容以“测试”开头,如“测试”,“测试”,“测试”等...它没有感觉用英语,但是用我的语言来说,因为我们在不同的符号上有相同的单词,而且它们有很多,有些是20,我需要找出哪些是在那里所以我可以制作一个synonims表; - )

更新:

数据库具有列ID(int),成分(文本)和配方(文本)。

成分中的数据是烹饪成分,具有不同的结局,如:

一个鸡蛋 2个鸡蛋

1 个答案:

答案 0 :(得分:1)

您可以转储索引中存在的所有单词。这也会显示每个单词的频率。例如。测试使用200次,测试使用300次。

手册:http://dev.mysql.com/doc/refman/5.0/en/myisam-ftdump.html