001
014
015 package com.liferay.portal.kernel.search;
016
017 import com.liferay.portal.kernel.util.ArrayUtil;
018
019
023 public class QuerySuggestionHitsProcessor implements HitsProcessor {
024
025 @Override
026 public boolean process(SearchContext searchContext, Hits hits)
027 throws SearchException {
028
029 QueryConfig queryConfig = searchContext.getQueryConfig();
030
031 if (!queryConfig.isQuerySuggestionEnabled()) {
032 return true;
033 }
034
035 if (hits.getLength() >=
036 queryConfig.getQuerySuggestionScoresThreshold()) {
037
038 return true;
039 }
040
041 String[] querySuggestions = SearchEngineUtil.suggestKeywordQueries(
042 searchContext, queryConfig.getQuerySuggestionMax());
043
044 querySuggestions = ArrayUtil.remove(
045 querySuggestions, searchContext.getKeywords());
046
047 hits.setQuerySuggestions(querySuggestions);
048
049 return true;
050 }
051
052 }