/** * @see org.opencms.jsp.search.result.I_CmsSearchResultWrapper#getDidYouMeanCollated() */ public String getDidYouMeanCollated() { String suggestion = null; I_CmsSearchControllerDidYouMean didYouMeanController = getController().getDidYouMean(); if ((null != didYouMeanController) && didYouMeanController.getConfig().getCollate()) { if ((m_solrResultList != null) && (m_solrResultList.getSpellCheckResponse() != null)) { suggestion = m_solrResultList.getSpellCheckResponse().getCollatedResult(); } } return suggestion; }
/** * @see org.opencms.jsp.search.result.I_CmsSearchResultWrapper#getDidYouMeanSuggestion() */ public Suggestion getDidYouMeanSuggestion() { I_CmsSearchControllerDidYouMean didYouMeanController = getController().getDidYouMean(); Suggestion usedSuggestion = null; if ((null != didYouMeanController) && ((m_solrResultList != null) && (m_solrResultList.getSpellCheckResponse() != null))) { // find most suitable suggestion List<Suggestion> suggestionList = m_solrResultList.getSpellCheckResponse().getSuggestions(); int queryLength = m_controller.getDidYouMean().getState().getQuery().length(); int minDistance = queryLength + 1; for (Suggestion suggestion : suggestionList) { int currentDistance = Math.abs(queryLength - suggestion.getToken().length()); if (currentDistance < minDistance) { usedSuggestion = suggestion; minDistance = currentDistance; } } } return usedSuggestion; }