def load_from_db_or_from_galago(table_name, key, galago_fn): if has_key(table_name, key): return load(table_name, key) r = galago_fn() if not has_key(table_name, key): save(table_name, key, r) flush() return r
def get_doc_list(query_id: str): q_res_id: str = "{}_{}".format(query_id, q_config_id) ticker.tick() if has_key(QueryResult, q_res_id): r: List[SimpleRankedListEntry] = load(QueryResult, q_res_id) for entry in r: doc_id, rank, score = entry doc_list.add(doc_id)
def commit_buffer_to_db(buffer): cnt = 0 skipped_keys = 0 for e in buffer: table_name, key, value = e if has_key(table_name, key): skipped_keys += 1 pass else: if skipped_keys: print("Skipped {} existing keys".format(skipped_keys)) skipped_keys = 0 cnt += 1 save(table_name, key, value) if cnt > 100: flush()
def get_db_item_or_make(self, table_name, doc_id): if has_key(table_name, doc_id): return load(table_name, doc_id) print("doc_id not found:", doc_id) self.launch_doc_processor(doc_id) return load(table_name, doc_id)
def add_to_db(query_id: str): if query_id in ranked_list_dict: r = ranked_list_dict[query_id] q_res_id: str = "{}_{}".format(query_id, q_config_id) if not has_key(QueryResult, q_res_id): save(QueryResult, q_res_id, r)
def db_not_contains(q_config_id: int, dp: PerspectiveCandidate): query_id: str = dp_to_qid(dp) q_res_id: str = "{}_{}".format(query_id, q_config_id) return not has_key(QueryResult, q_res_id)