code: async def open(self) -> None:
          
  
          LOGGER.debug('StorageRecordSearch.open >>>')
  
          if self.opened:
              LOGGER.debug('StorageRecordSearch.open <!< Search is already opened')
              raise BadSearch('Search is already opened')
  
          if not self._wallet.opened:
              LOGGER.debug('StorageRecordSearch.open <!< Wallet %s is closed', self._wallet.name)
              raise WalletState('Wallet {} is closed'.format(self._wallet.name))
  
          self._handle = await non_secrets.open_wallet_search(
              self._wallet.handle,
              self._type,
              self._query_json,
              StorageRecordSearch.OPTIONS_JSON)
  
          LOGGER.debug('StorageRecordSearch.open <<<')
docs: Begin the search operation.