| | |
| | | Query query = null; |
| | | if (!StringUtil.isNullOrEmpty(filter.getKey())) { |
| | | //solr精准检索需要带引号 |
| | | try { |
| | | query = new SimpleQuery(new Criteria("nameStr").startsWith(key).or("actors").expression("\"" + key + "\"")); |
| | | } catch (InvalidDataAccessApiUsageException e) { |
| | | query = new SimpleQuery(new Criteria("name").expression("\"" + key + "\"")); |
| | | if (filter.isFuzzy()) { |
| | | query = new SimpleQuery(new Criteria("name").expression(filter.getKey())); |
| | | } else { |
| | | try { |
| | | query = new SimpleQuery(new Criteria("nameStr").startsWith(key).or("actors").expression("\"" + key + "\"")); |
| | | } catch (InvalidDataAccessApiUsageException e) { |
| | | query = new SimpleQuery(new Criteria("name").expression("\"" + key + "\"")); |
| | | } |
| | | } |
| | | |
| | | } else if (!StringUtil.isNullOrEmpty(filter.getActor())) { |
| | |
| | | query.addFilterQuery(new SimpleFilterQuery(Criteria.where("area").contains(filter.getArea()))); |
| | | } |
| | | |
| | | if (filter.getAreas() != null&&filter.getAreas().size()>0) { |
| | | Criteria criteria=Criteria.where("area").contains(filter.getAreas().get(0)); |
| | | for(int i=1;i<filter.getAreas().size();i++){ |
| | | criteria= criteria.or("area").contains(filter.getAreas().get(i)); |
| | | } |
| | | query.addFilterQuery(new SimpleFilterQuery(criteria)); |
| | | } |
| | | |
| | | |
| | | /** 设置分页开始记录数(第一页) 默认0 */ |
| | | query.setOffset((page - 1) * pageSize); |