001
014
015 package com.liferay.portal.kernel.search;
016
017 import com.liferay.portal.kernel.util.StringPool;
018
019
023 public class CollatedSpellCheckHitsProcessor 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.isCollatedSpellCheckResultEnabled()) {
032 return true;
033 }
034
035 int collatedSpellCheckResultScoresThreshold =
036 queryConfig.getCollatedSpellCheckResultScoresThreshold();
037
038 if (hits.getLength() >= collatedSpellCheckResultScoresThreshold) {
039 return true;
040 }
041
042 String collatedKeywords = SearchEngineUtil.spellCheckKeywords(
043 searchContext);
044
045 if (collatedKeywords.equals(searchContext.getKeywords())) {
046 collatedKeywords = StringPool.BLANK;
047 }
048
049 hits.setCollatedSpellCheckResult(collatedKeywords);
050
051 return true;
052 }
053
054 }