From 0d3ed37b488bbb1bf89fac547a3d4e31169f7fd3 Mon Sep 17 00:00:00 2001 From: Kevin Hu Date: Mon, 10 Feb 2025 18:18:49 +0800 Subject: [PATCH] Make the update script shorter. (#4854) ### What problem does this PR solve? ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --- conf/mapping.json | 3 --- graphrag/search.py | 7 ++++++- rag/utils/es_conn.py | 6 ++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/conf/mapping.json b/conf/mapping.json index 71dc95362..f32acb02b 100644 --- a/conf/mapping.json +++ b/conf/mapping.json @@ -5,9 +5,6 @@ "number_of_replicas": 0, "refresh_interval": "1000ms" }, - "persistent" : { - "script.max_compilations_rate" : "200/10m" - }, "similarity": { "scripted_sim": { "type": "scripted", diff --git a/graphrag/search.py b/graphrag/search.py index ea77d2362..66e36bf7e 100644 --- a/graphrag/search.py +++ b/graphrag/search.py @@ -244,11 +244,16 @@ class KGSearch(Dealer): else: continue rel["description"] = rela["description"] + desc = rel["description"] + try: + desc = json.loads(desc).get("description", "") + except Exception: + pass relas.append({ "From Entity": f, "To Entity": t, "Score": "%.2f" % (rel["sim"] * rel["pagerank"]), - "Description": json.loads(rel["description"]).get("description", "") + "Description": desc }) max_token -= num_tokens_from_string(str(relas[-1])) if max_token <= 0: diff --git a/rag/utils/es_conn.py b/rag/utils/es_conn.py index c4ed0f185..d8c6927cf 100644 --- a/rag/utils/es_conn.py +++ b/rag/utils/es_conn.py @@ -367,11 +367,13 @@ class ESConnection(DocStoreConnection): continue if isinstance(v, str): v = re.sub(r"(['\n\r]|\\.)", " ", v) - scripts.append(f"ctx._source.{k}='{v}';") + params[f"pp_{k}"] = v + scripts.append(f"ctx._source.{k}=params.pp_{k};") elif isinstance(v, int) or isinstance(v, float): scripts.append(f"ctx._source.{k}={v};") elif isinstance(v, list): - scripts.append(f"ctx._source.{k}={json.dumps(v, ensure_ascii=False)};") + scripts.append(f"ctx._source.{k}=params.pp_{k};") + params[f"pp_{k}"] = json.dumps(v, ensure_ascii=False) else: raise Exception( f"newValue `{str(k)}={str(v)}` value type is {str(type(v))}, expected to be int, str.")