Как найти самое часто встречающееся слово без учета словоформ?
Предположение: вот есть слово "олень", смотрю есть ли оно в map (путем получения ключей и поиска подстроки в строке. Если количество совпавших символов >3, к примеру, то это одно и то же слово), если есть, то инкрементирую счетчик по этому ключу, если нет, то добавляю в map. Затем иду к следующему слову.
Но тут возникает трабл, как определить, что если >3 символов подстроки совпало - то это одно и то же слово. Ведь не факт. Как быть?
Имхо такие вещи решаются не на голом языке, нужно ставить какие-то пакеты или сервисы морфологического анализа (если загнать данные в elasticsearch и делать запросы поиска к нему, то он должен анализировать корректно)