Я пишу службу, которая должна разумно предлагать названия городов Великобритании на основе введенного пользователем текста, мой набор данных составляет менее 2500 записей. До сих пор я применяю слегка модифицированную версию алгоритма Damerau Levenshtein, который игнорирует расстояние редактирования для сравнения с более длинными строками.Как применить взвешивание к нечетким результатам поиска
Это дает мне разумный набор предложений, но я хотел бы вручную весовать некоторые термины, например. в настоящее время входящий new
даст New Mills
в качестве верхнего результата.
Я хотел бы весить эти результаты, поэтому крупные города появляются над городами и деревнями, например. ввод new
даст Newcastle
в качестве верхнего результата.
Может ли кто-нибудь предложить либо другой алгоритм поиска, либо отдельный процесс взвешивания, который я могу применить к своим результатам для достижения взвешенных результатов, которые я получаю после?