code: def supported_table(self):
      def _hackernews_topics_generator():
          url = "http://hn.algolia.com/api/v1/search?"
          url += "query=" + self.query
          url += "&tags=" + (
              "story" if self.tags == "" else +self.tags
          )  # search stories by default
          response = requests.get(url)
          if response.status_code != 200:
              raise Exception("Could not reach website.")
          json_result = response.content
          dict_result = json.loads(json_result)
          for row in dict_result:
              yield {
                  property_name: row[property_name]
                  for property_name, _ in HACKERNEWS_COLUMNS
              }
  
      mapping = {
          "search_results": {
              "columns": HACKERNEWS_COLUMNS,
              "generator": _hackernews_topics_generator(),
          },
      }
      return mapping
  
file_path: evadb/evadb/third_party/databases/hackernews/hackernews_handler.py
imports: import json
  import pandas
  import requests
  from evadb.third_party.databases.hackernews.table_column_info import HACKERNEWS_COLUMNS
  from evadb.third_party.databases.types import DBHandler, DBHandlerResponse, DBHandlerStatus
label_desc: Use image node_id 3 for calling the HackernewsSearchHandler obj's underlying member method code with example usage: obj.supported_table() and returns: mapping