Я пытаюсь научить себя Lucene.Net для реализации на моем сайте. Я понимаю, как сделать почти все, что мне нужно, кроме одного вопроса. Я пытаюсь выяснить, как разрешить нечеткий поиск по всем поисковым запросам в строке поиска.
Так, например, если у меня есть документ со строкой The big red fox
, я пытаюсь получить bag fix
, чтобы соответствовать ему.
Проблема в том, что для выполнения нечетких поисков мне нужно добавить ~
к каждому поисковому запросу, введенному пользователем. Я не уверен в лучшем способе сделать это. Прямо сейчас я пытаюсь это по
string queryString = "bag rad";
queryString = queryString.Replace("~", string.Empty).Replace(" ", "~ ") + "~";
Первая замена происходит из-за того, что Lucene.Net выдает исключение, если строка поиска уже имеет ~
, очевидно, она не может обработать ~~
во фразе. Этот метод работает, но кажется, что он станет грязным, если я начну добавлять нечеткие значения веса.
Есть ли лучший способ по умолчанию для всех слов учесть нечеткость?