Если вы действительно ищете слова, которые звучат одинаково, а не только поисковые подсказки - вы можете посмотреть на фонетические алгоритмы. Soundex и Metaphone / Double Metaphone - это два очень распространенных варианта, и есть реализации каждого из них на любом популярном языке.
Эти алгоритмы сокращают слово до «ключа», который указывает на его произношение. Если вы взяли набор слов для запуска и построили структуру данных, сопоставляющую эти ключи со словами, которые оценивают их, - вы можете взять произвольную строку, оценить ее до ее «ключа», а затем найти другие слова, которые оцениваются на то же введите структуру данных (возможно, хеш-таблицу списков или аналогичную).
Это не идеально, потому что вам нужно найти большой набор слов, чтобы заполнить ваш набор данных, но это сработает.
С другой стороны, если вам просто нужны поисковые подсказки / альтернативные варианты написания, есть более простые способы сделать это.
Надеюсь, это было полезно.