def _exec_query(self):
if not self._solr_locked:<EOL><INDENT>if not self.compiled_query:<EOL><INDENT>self._compile_query()<EOL><DEDENT>try:<EOL><INDENT>solr_params = self._process_params()<EOL>if settings.DEBUG:<EOL><INDENT>t1 = time.time()<EOL><DEDENT>self._solr_cache = self.bucket.search(self.compiled_query,<EOL>self.index_name,<EOL>**solr_params)<EOL>if settings.DEBUG and settings.DEBUG_LEVEL >= <NUM_LIT:5>:<EOL><INDENT>print("<STR_LIT>" % (self.compiled_query, solr_params))<EOL><DEDENT><DEDENT>except riak.RiakError as err:<EOL><INDENT>err.value += self._get_debug_data()<EOL>raise<EOL><DEDENT>self._solr_locked = True<EOL>return self._solr_cache['<STR_LIT>']<EOL><DEDENT>
Executes solr query if it hasn't already executed.

Returns:
    Self.