Можно ли найти повторяющиеся шаблоны в тексте, хранящемся в MySQL? - PullRequest
0 голосов
/ 02 декабря 2010

Можно ли найти повторяющиеся узоры в тексте?

Мой стол выглядит так:

CREATE TABLE `textanalysis` (
    `ID` int(11) NOT NULL AUTO_INCREMENT,
    `abstract` text,
    UNIQUE KEY `ID` (`ID`),
    FULLTEXT KEY `abstract` (`abstract`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

Я хотел бы найти слова или группу слов в тексте, а затем составить статистику.

Ответы [ 2 ]

1 голос
/ 02 декабря 2010

Вот некоторые хитрости (не очень оптимизированные)

используйте "яблоко" , например,
длина для яблоко составляет 5

SELECT
  (LENGTH(abstract)-LENGTH(REPLACE(LOWER(abstract), 'apple', '')))/5 
  AS occurrences
FROM
  textanalysis
WHERE
  MATCH (abstract) AGAINST ('+apple' IN BOOLEAN MODE);

Что нужно сделать, это заменить яблоко (сократить длину абстрактного текста),
и вы сравниваете исходную длину, чтобы определить количество вхождений.

0 голосов
/ 02 декабря 2010

Мне не совсем понятно ваше требование, но если вы хотите посчитать вхождение каждого отдельного слова, вы можете попробовать

select count(id) as total_word, abstract from textanalysis group by abstract;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...