docs: def find_suggestions(self, sentence):
          """
          Search all possible suggestions. Suggestions returned always have at
          least one document matching.
  
          Arguments:
              sentence --- keywords (single strings) for which we want
                  suggestions
          Return:
              An array of sets of keywords. Each set of keywords (-> one string)
              is a suggestion.
          """
          if not isinstance(sentence, str):
              sentence = str(sentence)
  
          keywords = sentence.split(" ")
  
          query_parser = self.search_param_list['strict'][0]['query_parser']
  
          base_search = u" ".join(keywords).strip()
          final_suggestions = []
          corrector = self.__searcher.corrector("content")
          label_corrector = self.__searcher.corrector("label")
          for (keyword_idx, keyword) in enumerate(keywords):
              if (len(keyword) <= MIN_KEYWORD_LEN):
                  continue
              keyword_suggestions = label_corrector.suggest(
                  keyword, limit=2
              )[:]
              keyword_suggestions += corrector.suggest(keyword, limit=5)[:]
              for keyword_suggestion in keyword_suggestions:
                  new_suggestion = keywords[:]
                  new_suggestion[keyword_idx] = keyword_suggestion
                  new_suggestion = u" ".join(new_suggestion).strip()
  
                  if new_suggestion == base_search:
                      continue
  
                  # make sure it would return results
                  query = query_parser.parse(new_suggestion)
                  results = self.__searcher.search(query, limit=1)
                  if len(results) <= 0:
                      continue
                  final_suggestions.append(new_suggestion)
          final_suggestions.sort()
          return final_suggestions