【发布时间】:2011-04-19 06:59:57
【问题描述】:
我的问题与Extract specific words from text field in mysql 有点相似,但现在是一样的。
我有一个文本字段,里面有单词。在我的语言中,单词可以有许多不同的结尾。我需要找到这个结局。
我使用 mysql 的全文搜索,但我需要访问索引数据库,在该数据库中,所有字段都被“剪切”为单词并且单词被计算在内。然后我可以搜索“test*”,我可以快速找到“test”、“tested”、“testing”。我需要数据库中存在的所有 endigns 的列表,这是我的主要目标。
事实上,我可以获取其中包含特定“test*”单词的记录,但我不仅需要找到该字段中的出现位置,还需要以某种方式进行分组,以便我获得所有单词的列表,例如从“测试”开始。我不需要它们所在的记录位置,只是一个列表,分组以便“测试”不写 10 次,而只写一次(可能是找到多少次但没有必要的计数器)。
有没有办法从全文搜索字段中提取此信息,或者我应该将所有这些字段分解为单词并制作一个充满单词的索引表,然后只执行“like”word%”并按不同的结果分组?我是不知道如何在实践中做到这一点,但只是为了给我指出正确的方向。
总结一下:我有一个文本字段,我需要找出里面有哪些以“test”开头的单词,比如“tested”、“test”、“testing”等......在英语中是有意义的,但在我的语言中它确实如此,因为我们在不同的尾端有相同的词,而且它们中有很多,有时是 20,我需要找出哪些是那里的,这样我就可以制作一个同义词表;-)
更新:
数据库具有列 ID (int)、成分 (text) 和配方 (text)。
成分中的数据是具有不同结尾的烹饪成分,例如:
1 个鸡蛋 2个鸡蛋
等等
【问题讨论】:
-
您能否提供一些至少使用的数据库结构或查询的详细信息?
标签: mysql full-text-search word extract