Sort By Key MatchΒΆ

Example

>>> import sys
>>> from io import StringIO
>>> from techminer2.thesaurus.user import CreateThesaurus, SortByKeyMatch
>>> # Redirecting stderr to avoid messages during doctests
>>> original_stderr = sys.stderr
>>> sys.stderr = StringIO()
>>> # Reset the thesaurus to initial state
>>> CreateThesaurus(thesaurus_file="demo.the.txt", field="raw_descriptors",
...     root_directory="example/", quiet=True).run()
>>> # Creates, configures, an run the sorter
>>> sorter = (
...     SortByKeyMatch()
...     .with_thesaurus_file("demo.the.txt")
...     .having_pattern("BUSINESS")
...     .having_case_sensitive(False)
...     .having_regex_flags(0)
...     .having_regex_search(False)
...     .where_root_directory_is("example/")
... )
>>> sorter.run()
>>> # Capture and print stderr output to test the code using doctest
>>> output = sys.stderr.getvalue()
>>> sys.stderr = original_stderr
>>> print(output)
Sorting thesaurus file by key match
            File : example/thesaurus/demo.the.txt
         Pattern : BUSINESS
  Case sensitive : False
     Regex Flags : 0
    Regex Search : False
  21 matching keys found
  Thesaurus sorting by key match completed successfully

Printing thesaurus header
  File : example/thesaurus/demo.the.txt

    AGRIBUSINESS
      AGRIBUSINESS
    BUSINESS
      BUSINESS; BUSINESSES
    BUSINESS_DEVELOPMENT
      BUSINESS_DEVELOPMENT
    BUSINESS_GERMANY
      BUSINESS_GERMANY
    BUSINESS_INFRASTRUCTURE
      BUSINESS_INFRASTRUCTURE; BUSINESS_INFRASTRUCTURES
    BUSINESS_MODEL
      BUSINESS_MODEL; BUSINESS_MODELS
    BUSINESS_OPPORTUNITIES
      BUSINESS_OPPORTUNITIES
    BUSINESS_PROCESS
      BUSINESS_PROCESS