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.")