为什么Lucene无法将此字符串与Unicode字符匹配?

时间:2018-09-07 19:24:09

标签: java regex lucene

我正在使用Lucene进行搜索,但是无法匹配其中带有Unicode字符的单词。这是一个简短的测试:

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的限制或其他东西。不起作用的一些可能原因是什么?

0 个答案:

没有答案