Почему Lucene не может сопоставить эту строку с символом Unicode? - PullRequest
0 голосов
/ 07 сентября 2018

Я использую Lucene для выполнения поиска, но не удается сопоставить слово с символом Юникод в нем. Вот краткий тест:

import static org.junit.Assert.assertTrue;

import org.apache.lucene.index.Term;
import org.apache.lucene.search.regex.RegexQuery;
import org.junit.Test;

public class ReturnUnicodeTest {

    @Test
    public void testQueryWithUnicodeChar() {

        // zero to many non-whitespace followed by zero to many whitespace chars
        Term mustTerm = new Term("FieldName", "Áuto" + "[^\\s]*(\\s*)");
        RegexQuery mustTermQuery = new RegexQuery(mustTerm);


        mustTermQuery.getRegexImplementation().compile("Áuto" + "[^\\s]*(\\s*)");
        boolean match = mustTermQuery.getRegexImplementation().match("Test Áutomotive");
        assertTrue(match);
    }
}

Я не уверен, является ли это настройкой моей реализации Lucene или ограничением RegexQuery или чем-то еще. По каким возможным причинам это не работает?

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