Можно ли найти повторяющиеся шаблоны в тексте?
Моя таблица выглядит так:
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;
Я хотел бы найти слова или группу слов в тексте, а затем сделать статистику.
Вот некоторые трюки (не очень оптимизированные)
используйте "яблоко" , например,
длина для яблока составляет 5
SELECT
(LENGTH(abstract)-LENGTH(REPLACE(LOWER(abstract), 'apple', '')))/5
AS occurrences
FROM
textanalysis
WHERE
MATCH (abstract) AGAINST ('+apple' IN BOOLEAN MODE);
Что происходит, это заменить яблоко (сделать длину абстрактной короче),
и вы сравниваете исходную длину, чтобы вывести число вхождений.
Я не так четко понимаю ваши требования, но если вы хотите подсчитать появление каждого отдельного слова, вы можете попробовать
select count(id) as total_word, abstract from textanalysis group by abstract;