### What problem does this PR solve? ### Type of change - [x] Refactoringtags/v0.16.0
| def _ent_info_from_(self, es_res, sim_thr=0.3): | def _ent_info_from_(self, es_res, sim_thr=0.3): | ||||
| res = {} | res = {} | ||||
| es_res = self.dataStore.getFields(es_res, ["content_with_weight", "_score", "entity_kwd", "rank_flt", | |||||
| "n_hop_with_weight"]) | |||||
| flds = ["content_with_weight", "_score", "entity_kwd", "rank_flt", "n_hop_with_weight"] | |||||
| es_res = self.dataStore.getFields(es_res, flds) | |||||
| for _, ent in es_res.items(): | for _, ent in es_res.items(): | ||||
| for f in flds: | |||||
| if f in ent and ent[f] is None: | |||||
| del ent[f] | |||||
| if float(ent.get("_score", 0)) < sim_thr: | if float(ent.get("_score", 0)) < sim_thr: | ||||
| continue | continue | ||||
| if isinstance(ent["entity_kwd"], list): | if isinstance(ent["entity_kwd"], list): |
| if matchExprs: | if matchExprs: | ||||
| selectFields.append(score_func) | selectFields.append(score_func) | ||||
| selectFields.append(PAGERANK_FLD) | selectFields.append(PAGERANK_FLD) | ||||
| selectFields = [f for f in selectFields if f != "_score"] | |||||
| # Prepare expressions common to all tables | # Prepare expressions common to all tables | ||||
| filter_cond = None | filter_cond = None | ||||
| if matchExprs: | if matchExprs: | ||||
| res = res.sort(pl.col(score_column) + pl.col(PAGERANK_FLD), descending=True, maintain_order=True) | res = res.sort(pl.col(score_column) + pl.col(PAGERANK_FLD), descending=True, maintain_order=True) | ||||
| if score_column and score_column != "SCORE": | if score_column and score_column != "SCORE": | ||||
| res = res.rename({score_column: "SCORE"}) | |||||
| res = res.rename({score_column: "_score"}) | |||||
| res = res.limit(limit) | res = res.limit(limit) | ||||
| logger.debug(f"INFINITY search final result: {str(res)}") | logger.debug(f"INFINITY search final result: {str(res)}") | ||||
| return res, total_hits_count | return res, total_hits_count |