SQL CODE, чтобы сделать: популярные темы равны Twitter - PullRequest
0 голосов
/ 15 июля 2009

Если я хочу подсчитать совпадающие слова в строках двух таблиц с миллионами строк, пример:

Стол сообщений, образец:

+----+---------+-----------------------------+
| ID | ID_user | text                        | 
+----+---------+-----------------------------+
| 1  | bruno   | michael jackson is dead     |
| 2  | thomasi | michael j. moonwalk is dead |
| 3  | userts  | michael jackson lives       |
+----+---------+-----------------------------+

Я хочу запросить слова, наиболее часто повторяющиеся в таблице, ограничить число первых 10, результат может быть следующим:

+-------+------------+
| count | word       |
+-------+------------+
| 3     | michael    |
| 2     | dead       |
| 2     | jackson    |
| 1     | j.         |
| 1     | lives      |
| 1     | moonwalk   |
+-------+------------+

но я хочу искать только слова, которые повторяются более 10 раз, в этом случае ни одно слово не появляется, но если критерий для повторных слов равен 2, будет отображаться только «michael» и «dead», но игнорировать «is», потому что я не хочу слова с менее чем 2 символами длины и слова, которые фраза, тогда мне нужно вывести это:

+-------+-----------------+
| count | word            |
+-------+-----------------+
| 2     | michael jackson |
| 2     | dead            |
+-------+-----------------+

мне нужен код в mysql, который отвечает на «актуальные темы» в твиттере за сообщения моего сайта.

Ответы [ 2 ]

3 голосов
/ 15 июля 2009

То, что вы ищете, это извлечение терминов , которое изначально не предусмотрено в MySQL.

Некоторые другие платформы предоставляют эту функцию, но она считается корпоративной функцией, поэтому вам придется заплатить за это через нос.

В качестве альтернативы вы можете использовать что-то вроде API извлечения терминов Yahoo! .

Здесь - это запись в блоге, в которой рассказывается об использовании сервиса Yahoo! Из PHP5.

0 голосов
/ 15 июля 2009

разбить предложение на вставку, отфильтровать слова по черному списку, сохранить отдельные слова с количеством (или, возможно, со ссылками). считать с помощью count ():)

это приведет к получению большого количества данных, и я не знаю, как это повлияет на скорость и объем хранилища.

...