尝试在所有字段中使用搜索。我想在搜索时忽略大小写,我也想找到一个匹配以下格式的对象:“ {任何符号} {输入字符串} {任何符号}”。我该怎么办
我的方法
@Override
public List<Teacher> searchByQuery(String query) {
List result = Collections.emptyList();
if (!query.trim().isEmpty()) {
FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(em);
QueryBuilder qb = fullTextEntityManager.getSearchFactory()
.buildQueryBuilder().forEntity(Teacher.class).get();
org.apache.lucene.search.Query luceneQuery = qb
.keyword()
.onFields("fam", "name", "otch", "phoneNumber")
.matching(query)
.createQuery();
Query jpaQuery = fullTextEntityManager.createFullTextQuery(luceneQuery, Teacher.class);
result = jpaQuery.getResultList();
}
return result;
}
我该如何实现?