admin
2021-09-24 f788607ff771a47bc60d6a86e00b3433c40f3d2c
src/main/java/com/yeshi/buwan/service/manager/search/SolrInternetSearchVideoDataManager.java
@@ -99,10 +99,14 @@
        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())) {
@@ -118,8 +122,15 @@
            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));
        }
@@ -144,7 +155,7 @@
    }
    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 */