如何通过mysql获取表中最流行的单词?

时间:2009-07-23 19:02:42

标签: php mysql popularity

我有一张带有BLOB列的表。我想做的是让它能够挑选出单词并按顺序列出。

例如,如果它包含:

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

然后我会得到

  1. 喜欢
  2. 结果......这是可能的,如果是这样的话?

    我希望能够仅在mysql中完成它,但我也可以使用php。

    提前致谢, 肯尼

3 个答案:

答案 0 :(得分:1)

不要认为有任何内置的MySQL函数可以做到这一点,所以你最好使用PHP为你做工作,使用explode(' ', $myString)str_word_count($myString, 1)创建一个包含每个单词的数组。然后循环遍历数组中的每个单词并计算它们。

答案 1 :(得分:0)

Sphinx Search(http://sphinxsearch.com/)是一个应用程序,可以在mysql以及其他数据库和文件格式中搜索全文。简而言之,它提供了相对于mysql表的搜索。

其中一个工具执行字数统计,以下是一个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

答案 2 :(得分:0)

我已经重新编写了代码,所以我不再需要这样做了......使用标准设置似乎不可能