001
014
015 package com.liferay.portal.kernel.search;
016
017 import java.util.Locale;
018
019
023 public class QueryIndexingHitsProcessor 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.isQueryIndexingEnabled()) {
032 return true;
033 }
034
035 if (hits.getLength() >= queryConfig.getQueryIndexingThreshold()) {
036 addDocument(
037 searchContext.getCompanyId(), searchContext.getKeywords(),
038 searchContext.getLocale());
039 }
040
041 return true;
042 }
043
044 protected void addDocument(long companyId, String keywords, Locale locale)
045 throws SearchException {
046
047 SearchEngineUtil.indexKeyword(
048 companyId, keywords, 0, SuggestionConstants.TYPE_QUERY_SUGGESTION,
049 locale);
050 }
051
052 }