docs: def get_keywords_from_text(text_lines, taxonomy_name, output_mode="text",
                             output_limit=None,
                             spires=False, match_mode="full", no_cache=False,
                             with_author_keywords=False, rebuild_cache=False,
                             only_core_tags=False, extract_acronyms=False):
      """Extract keywords from the list of strings.
  
      :param text_lines: list of strings (will be normalized before being
          joined into one string)
      :param taxonomy_name: string, name of the taxonomy_name
      :param output_mode: string - text|html|marcxml|raw
      :param output_limit: int
      :param spires: boolean, if True marcxml output reflect spires codes.
      :param match_mode: str - partial|full; in partial mode only
          beginning of the fulltext is searched.
      :param no_cache: boolean, means loaded definitions will not be saved.
      :param with_author_keywords: boolean, extract keywords from the pdfs.
      :param rebuild_cache: boolean
      :param only_core_tags: boolean
      :return: if output_mode=raw, it will return
          (single_keywords, composite_keywords, author_keywords, acronyms)
          for other output modes it returns formatted string
      """
      if output_limit is None:
          output_limit = current_app.config['CLASSIFIER_DEFAULT_OUTPUT_NUMBER']
  
      cache = get_cache(taxonomy_name)
      if not cache:
          set_cache(taxonomy_name,
                    get_regular_expressions(taxonomy_name,
                                            rebuild=rebuild_cache,
                                            no_cache=no_cache))
          cache = get_cache(taxonomy_name)
      _skw = cache[0]
      _ckw = cache[1]
      text_lines = cut_references(text_lines)
      fulltext = normalize_fulltext("\n".join(text_lines))
  
      if match_mode == "partial":
          fulltext = get_partial_text(fulltext)
      author_keywords = None
      if with_author_keywords:
          author_keywords = extract_author_keywords(_skw, _ckw, fulltext)
      acronyms = {}
      if extract_acronyms:
          acronyms = extract_abbreviations(fulltext)
  
      single_keywords = extract_single_keywords(_skw, fulltext)
      composite_keywords = extract_composite_keywords(
          _ckw, fulltext, single_keywords)
  
      if only_core_tags:
          single_keywords = clean_before_output(
              filter_core_keywords(single_keywords))
          composite_keywords = filter_core_keywords(composite_keywords)
      else:
          # Filter out the "nonstandalone" keywords
          single_keywords = clean_before_output(single_keywords)
  
      return get_keywords_output(
          single_keywords=single_keywords,
          composite_keywords=composite_keywords,
          taxonomy_name=taxonomy_name,
          author_keywords=author_keywords,
          acronyms=acronyms,
          output_mode=output_mode,
          output_limit=output_limit,
          spires=spires,
          only_core_tags=only_core_tags
      )