Я использую Lucene.NET версии 4.8 (бета) для небольшой задачи поиска в решении, которое я делаю, но возникают проблемы с поиском без учета регистра.Я знаю, что Lucene не чувствителен к регистру, но при использовании StandardAnalyzer он должен выполнять регистрацию данных в нижнем регистре (согласно документации StandardAnalyzer ), если вы убедитесь, что запросы выполнены правильно.
Так есть идеи, что я здесь не так делаю?Я сохранил данные «Kirsten» в поле в 4 разных документах, и при поиске (в нижнем регистре) «kirsten» я не получаю ни одного попадания, но при поиске «Kirsten» я получаю ожидаемое значение 4.
Вот мой код запроса:
query = query.ToLowerInvariant();
BooleanQuery q = new BooleanQuery {
new BooleanClause(new WildcardQuery(new Term(FieldNames.Name, query + WildcardQuery.WILDCARD_STRING)), Occur.SHOULD),
new BooleanClause(new WildcardQuery(new Term("mt-year", query)), Occur.SHOULD),
new BooleanClause(new WildcardQuery(new Term("mt-class", query + WildcardQuery.WILDCARD_STRING)), Occur.SHOULD)
};
И проблема в том, что пользователи всегда пишут строчную версию и ожидают, что она найдет как строчные, так и прописные буквы.