За последние 2 года я записывал все поиски на своем сайте, но никогда не анализировал набор данных. Теперь у меня есть около 120 тыс. Записей с большим количеством соответствующих данных.
Я надеюсь, что вы, ребята, можете помочь мне с тем, как эффективно запрашивать эти данные из базы данных 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) ИЗ таблицы, ГДЕ SearchQuery LIKE ‘% football%’ И TimeOfSearch МЕЖДУ ‘foo’ И ‘bar’
Вы всегда можете подсунуть туда некоторые индексы, но я не думаю, что при значениях в 120 тыс. Строк это будет иметь большое значение.
С орфографическим соответствием, кажется, есть несколько вариантов, которые с PHP вы рассматривали в Similar_text () или soundex ().
Других решений пока нет …