| | |
| | | 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("rootType").is(filter.getVideoType()))); |
| | | } |
| | | |
| | | if (filter.getResourceIds() != null && filter.getResourceIds().length > 0) { |
| | | query.addFilterQuery(new SimpleFilterQuery(Criteria.where("resourceIds").contains(filter.getResourceIds()))); |
| | | if (filter.getResourceIds() != null && filter.getResourceIds().size() > 0) { |
| | | Criteria ors = null; |
| | | for (String rid : filter.getResourceIds()) { |
| | | if (ors == null) |
| | | ors = Criteria.where("resourceIds").contains(rid); |
| | | else |
| | | ors = ors.or("resourceIds").contains(rid); |
| | | } |
| | | query.addFilterQuery(new SimpleFilterQuery(ors)); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | public List<String> getSuggestKeyList(String key) { |
| | | Query query = new SimpleQuery(new Criteria("nameStr").expression(key+"*")); |
| | | Query query = new SimpleQuery(new Criteria("nameStr").expression(key + "*")); |
| | | /** 设置分页开始记录数(第一页) 默认0 */ |
| | | query.setOffset(0); |
| | | /** 设置每页显示记录数,默认10 */ |