@Override public long searchCount(SearchContext searchContext) throws SearchException { PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker(); if ((permissionChecker != null) && isUseSearchResultPermissionFilter(searchContext)) { Hits hits = search(searchContext); return hits.getLength(); } QueryConfig queryConfig = searchContext.getQueryConfig(); queryConfig.setHighlightEnabled(false); queryConfig.setHitsProcessingEnabled(false); queryConfig.setScoreEnabled(false); queryConfig.setQueryIndexingEnabled(false); queryConfig.setQuerySuggestionEnabled(false); searchContext.setSearchEngineId(getSearchEngineId()); BooleanQuery fullQuery = getFullQuery(searchContext); fullQuery.setQueryConfig(queryConfig); return IndexSearcherHelperUtil.searchCount(searchContext, fullQuery); }
fullQueryBooleanFilter, searchContext); fullQuery.setQueryConfig(searchContext.getQueryConfig());
@Override public long searchCount(SearchContext searchContext) { PermissionChecker permissionChecker = PermissionThreadLocal.getPermissionChecker(); if ((permissionChecker != null) && _indexerPermissionPostFilter.isPermissionAware()) { Hits hits = search(searchContext); return hits.getLength(); } QueryConfig queryConfig = searchContext.getQueryConfig(); queryConfig.setHighlightEnabled(false); queryConfig.setHitsProcessingEnabled(false); queryConfig.setScoreEnabled(false); queryConfig.setQueryIndexingEnabled(false); queryConfig.setQuerySuggestionEnabled(false); searchContext.setSearchEngineId( _modelSearchSettings.getSearchEngineId()); BooleanQuery fullQuery = _indexerQueryBuilder.getQuery(searchContext); fullQuery.setQueryConfig(queryConfig); try { return _indexSearcherHelper.searchCount(searchContext, fullQuery); } catch (SearchException se) { throw new RuntimeException(se); } }
@Override public BooleanQuery getQuery(SearchContext searchContext) { searchContext.setSearchEngineId( _modelSearchSettings.getSearchEngineId()); _resetFullQuery(searchContext); String[] fullQueryEntryClassNames = searchContext.getFullQueryEntryClassNames(); if (ArrayUtil.isNotEmpty(fullQueryEntryClassNames)) { searchContext.setAttribute( "relatedEntryClassNames", _modelSearchSettings.getSearchClassNames()); } String[] entryClassNames = ArrayUtil.append( _modelSearchSettings.getSearchClassNames(), fullQueryEntryClassNames); searchContext.setEntryClassNames(entryClassNames); contributeSearchContext(searchContext); Map<String, Indexer<?>> entryClassNameIndexerMap = _getEntryClassNameIndexerMap( entryClassNames, searchContext.getSearchEngineId()); BooleanFilter booleanFilter = new BooleanFilter(); _addPreFilters(booleanFilter, entryClassNameIndexerMap, searchContext); BooleanQuery fullQuery = createFullQuery(booleanFilter, searchContext); fullQuery.setQueryConfig(searchContext.getQueryConfig()); return fullQuery; }