code: def __init__(
      self,
      index_type="solr",
      host="localhost",
      port=8983,
      protocol="http",
      **kwargs,
  ):
      Retriever.__init__(self, index_type)
  
      self.username = ""
      self.password = ""
      self.body_field = ""
      self.host = host
      self.port = port
      self.protocol = protocol
  
      allowed_keys = list(self.__dict__.keys())
      self.__dict__.update(
          (k, v) for k, v in kwargs.items() if k in allowed_keys
      )
  
      self.base_solr_url = (
          protocol + "://" + host + ":" + str(port) + "/solr"
      )
  
      # self.es = Elasticsearch([{'host': self.host, 'port': self.port}])
      # self.isAvailable = self.es.ping()
  
      rejected_keys = set(kwargs.keys()) - set(allowed_keys)
  
      if rejected_keys:
          raise ValueError(
              "Invalid arguments in ElasticSearchRetriever constructor:{}".format(
                  rejected_keys
              )
          )
  
file_path: neuralqa/neuralqa/retriever/solrretriever.py
imports: from neuralqa.retriever import Retriever
  from neuralqa.utils import parse_field_content
  import requests
  import logging
label_desc: Use image node_id 1 to create a new SolrRetriever object from inherited base classes: Retriever with example: obj = SolrRetriever(index_type, host, port, protocol)