Я использую 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 или чем-то еще. По каким возможным причинам это не работает?