Значение нечеткого параметра в Lucene - PullRequest
2 голосов
/ 10 ноября 2010

Как указано в документации Lucene , существует параметр, позволяющий указать сходство, необходимое для совпадения.Значение находится между 0 и 1, со значением ближе к 1 будут совпадать только термины с более высоким сходством.Например: roam ~ 0,8

Знаешь, интересно, подразумевается ли этот параметр в относительном смысле, то есть для строки, которая длиннее, расстояние редактирования строки может быть выше, и совпадение все еще сохраняется.Или это абсолютное значение, то есть только до x замен / удалений / вставок разрешено совпадение?

1 Ответ

4 голосов
/ 10 ноября 2010

При поиске term~sim будут найдены все термины, расстояние редактирования которых меньше length(term) * (1- sim). Поэтому roam~0.8 найдет все термины с расстоянием редактирования менее 4 * (1-.8) =. 8 роуминга.

EDIT:

Срок должен быть длиннее 1 / (1 - сим). Таким образом, поиск по roam~.8 не сделает ничего нечеткого, потому что вещи со сходством 0,8 должны иметь длину не менее 5.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...