Я использую два анализатора при индексировании таких как StandardAnalyzer
для некоторых полей и WhitespaceAnalyzer
для некоторых полей, имеющих значение как специальный символ, как c++
, но я пишу запрос каккак искать регистр без учета регистра в спящем режиме с использованием запроса lucene?
QueryBuilder qb = fullTextSession.getSearchFactory().buildQueryBuilder().forEntity(Professional.class).get();
BooleanQuery booleanQuery = new BooleanQuery();
query = qb .keyword().wildcard().onField(fieldName).ignoreFieldBridge().matching(fieldValue+"*").createQuery();
booleanQuery.add(query, BooleanClause.Occur.MUST);
вышеприведенные запрос возвращает результаты отличаются в случае чувствительной например, C++ и C++ , поэтому я хочу получить регистрационный код для получения результатов, из-за того, что я не использую тот же анализатор при индексировании, а также в поиске, так что я ошибаюсь
plz помогите мне, потому что меня поражают с 1 недели плз .. . заранее заблаговременно
общественного класс MyAnalyzer расширяет анализатор { \t \t Analyzer Анализатор = новый анализатор() { \t \t защищенного TokenStreamComponents createComponents (конечная строка ИмяПоль) { \t \t Tokenizer источника = новый WhitespaceTokenizer(); \t \t Фильтр TokenStream = новый LowerCaseAnalyzer (источник); \t \t вернуть новые компоненты TokenStreamComponents (источник, фильтр); \t \t} \t \t} } Я добавил выше код вроде как упоминалось, но я получил сообщение об ошибке, как тип MyAnalyzer должен реализовать унаследованный абстрактный метод Analyzer.tokenStream (String, Reader), так как решить ее – Santhosh