问题:java使用mongoTemplate正则表达式,无法模糊查询。
例子:关键词【多少钱】,输入【多少】是没法匹配的。输入完整的【多少钱】可正常返回
服务端代码
public QA findAByKeyWord(String keyWord) {
Pattern pattern = Pattern.compile("^.*" + keyWord + ".*$",Pattern.CASE_INSENSITIVE);
if (!StringUtils.isEmpty(keyWord)){
Criteria criteria = Criteria.where("keyword").regex(pattern);
Query query = new Query(criteria).with(Sort.by(Sort.Direction.DESC,"sort"));
query.fields().include("answer");
query.fields().exclude("_id");
return mongoTemplate.findOne(query, QA.class, "qa");
}else {
return null;
}}
把正则修改为下面的也不行
Pattern pattern = Pattern.compile(".*?" + keyWord+ ".*");
mongodb数据库