В Umbraco я использую Examine для поиска на веб-сайте, но содержимое находится на французском языке. Все работает отлично, за исключением случаев, когда я ищу «Français», это не тот же результат, что и «Francais». Есть ли способ игнорировать этих французских персонажей? Я пытаюсь найти FrenchAnalyser для Leucene/Examine, но ничего не нашел. Я использую Fuzzy, чтобы он возвращал результаты, даже если слова не совпадают.Игнорировать специальные символы в исследовании
Вот код моего поиска:
public static ISearchResults Search(string searchTerm)
{
var provider = ExamineManager.Instance.SearchProviderCollection["ExternalSearcher"];
var criteria = provider.CreateSearchCriteria(BooleanOperation.Or);
var crawl = criteria.GroupedOr(BoostedSearchableFields, searchTerm.Boost(15))
.Or().GroupedOr(BoostedSearchableFields, searchTerm.Fuzzy(Fuzziness))
.Or().GroupedOr(SearchableFields, searchTerm.Fuzzy(Fuzziness))
.Not().Field("umbracoNavHide", "1");
return provider.Search(crawl.Compile());
}
Я знаю, что я не буду очень полезен, но если есть способ, вы можете преобразовать весь специальный символ в нормальный символ в содержимом, которое вы ищете. –
не очень, я об этом уже знаю, но спасибо – VinnyG
Почему вы не можете заменить персонажей? Я действительно не вижу другого пути. Предполагая, что вы уже проверили все перегрузки методов. –