Он основан на наименьшей из длины поискового термина и длине индексного термина. Итак, поскольку ваш поисковый термин имеет длину 9, сходство 0,88 - это минимум, который позволял бы использовать одно расстояние редактирования.
Расчет максимального расстояния редактирования выглядит примерно так:
int maxEdits = (int)((1-minSim) * (Math.min(textLength, targetLength)));
Кроме того, помните, что здесь может быть проблема точности с плавающей точкой! Таким образом, если бы вы установили minSim = 0.8 и попытались бы с длиной 5, у вас было бы 0 maxEdits, потому что (1-(float).8)*5
= .99999994, и приведение к int возвращает вас 0.
Long и если не считать этого, я бы не стал слишком беспокоиться о том, чтобы хонинговать точно там, где на вашем нечетком запросе рисуется линия.
(И я рад, что Люсен покончила с этим процентным показателем нечеткое сходство дурачества)