如何通过MySQL的获得在一个表中最流行的词汇?(How can I get the most po

2019-06-26 15:46发布

我有一个BLOB列的表。 我想要做的就是它能够挑选出字和顺序列出。

因为如果它包含例如:

  • 鲍勃·史密斯喜欢奶酪,但爱读书
  • 查理喜欢巧克力牛奶
  • 查尔喜欢漫画,但也喜欢饼干

然后,我会得到

  1. 喜欢

结果......这是可能的,如果是怎样?

我希望能够做到这一点,在短短的mysql独自一人,但我可以使用PHP的为好。

在此先感谢,肯尼

Answer 1:

不要以为有任何内置在MySQL的功能要做到这一点,所以你可能是最好的使用PHP做的工作,你使用无论是explode(' ', $myString)str_word_count($myString, 1)创建一个包含数组每个字。 然后遍历数组中的每个字环和计数。



Answer 2:

狮身人面像搜索( http://sphinxsearch.com/ )是一个应用程序,做了很多周围搜索在MySQL全文以及其他数据库的和文件格式。 总之,它提供了与MySQL表的relavence搜索。

它的一个的工具进行字数,下面是一个bash脚本得到它的输出在数据库中最流行的词汇:

GET_TOP_X_STOP_WORDS=27
WORD_FREQ_FILE=~/wordfreq.txt
/usr/local/bin/indexer test1 --buildstops $WORD_FREQ_FILE $GET_TOP_X_STOP_WORDS --buildfreqs


Answer 3:

我已经重新制定我的代码,所以我不再需要做到这一点...这似乎是不可能与非标准设置



文章来源: How can I get the most popular words in a table via mysql?