如何在 mySQL 中创建搜索查询数据集的相关分析


How to create a relevant analysis of a data set of search queries in mySQL

我记录了过去两年在我的网站上的所有搜索,但从未分析过数据集。我现在有大约 120k 个条目,似乎有很多相关数据。

我希望你们能帮助我如何有效地从mySQL数据库中查询这些数据,并使用php以有效的方式呈现发现。

+------------+-------------+-----------------------+-----------------+
| id         | SearchQuery |     Timeofsearch      |      User_IP    |
+------------+-------------+-----------------------+-----------------+
| 201201     |  Football   |  2014-12-28 10:04:06  | 66.249.67.57    |
| 201202     |  Ball       |  2014-12-28 09:36:57  | 68.180.228.101  |
| 201203     |  Handball   |  2014-12-28 09:36:57  | 46.161.41.31    |
| 201204     |  Goal       |  2014-12-28 08:02:18  | 66.249.67.41    |
| 201205     |  Glow       |  2014-12-28 07:24:43  | 207.46.13.30    |
+------------+-------------+-----------------------+-----------------+

一些问题:

许多搜索查询在主题或方式上都是相似的 被写了。

    足球
  • 、足球和足球应该被视为类似
    (只是拼写错误)
  • 一些搜索查询在主题上是相似的,例如。耐克足球,阿迪达斯足球,大型足球,小型足球 - 它们都包含足球 ->不确定应该如何对待,所以欢迎建议。
我想

这只取决于您要如何显示信息?现在你可以得到一些花哨的html5图表。

因为您确实需要将联接留在其他表上,所以您不应该在性能方面受到打击。

我只会从运行一些简单的东西开始,比如。

从表中选择 COUNT(id),其中搜索查询喜欢 '%football%' 和 时间搜索 在 'foo' 和 'bar' 之间

你总是可以在那里塞一些索引,但在 120k 行时,我认为这不会有太大区别。

通过拼写匹配,PHP 似乎有几个选项,您是否研究过 similar_text() 或 soundex()。