这个问题对我来说是一个挑战,我的朋友不能告诉我怎么做,但他真的是一个很好的程序员(我认为)。
用户可以将句子放入数据库。当用户输入一个句子时,它会保存在sentences
表格中。接下来,将句子拆分为单词,将单词的每个 soundex 保存到tags
带有拆分句子的 id 的表中。
最后,将单词的每个soundax 放入weights
表中,如果有多个相同的soundex,则函数counter
对该soundex 加1。
(对于那些不知道的人:soundex 是一个返回字符串的语音表示(发音方式)的函数)
数据库结构:一张表sentences
包含两行:id
和sentence
。其他表tags
包含id
(with 是一个句子的 id) 和tag
(with 是句子中的一个单词)。
tag
不仅仅是简单的单词,而是这个单词的 soundex。最后一个表weights
包含tag
和weight
(用是数字,它告诉我们表中有多少这样的标签tags
)
我的问题是:我怎样才能让一个函数女巫返回给定字符串的相似句子。它应该使用标签(单词的声音),并且每个标签都应该基于weights
表格有自己的权力。经常使用的标签比原始标签更重要。可以在一个mysql查询中完成吗?
下一个问题:我认为这种寻找相似句子的方式很好,但是这个功能的速度呢?我需要在我的网站中经常使用它。