### What problem does this PR solve? ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue)tags/v0.17.0
| "number_of_replicas": 0, | "number_of_replicas": 0, | ||||
| "refresh_interval": "1000ms" | "refresh_interval": "1000ms" | ||||
| }, | }, | ||||
| "persistent" : { | |||||
| "script.max_compilations_rate" : "200/10m" | |||||
| }, | |||||
| "similarity": { | "similarity": { | ||||
| "scripted_sim": { | "scripted_sim": { | ||||
| "type": "scripted", | "type": "scripted", |
| else: | else: | ||||
| continue | continue | ||||
| rel["description"] = rela["description"] | rel["description"] = rela["description"] | ||||
| desc = rel["description"] | |||||
| try: | |||||
| desc = json.loads(desc).get("description", "") | |||||
| except Exception: | |||||
| pass | |||||
| relas.append({ | relas.append({ | ||||
| "From Entity": f, | "From Entity": f, | ||||
| "To Entity": t, | "To Entity": t, | ||||
| "Score": "%.2f" % (rel["sim"] * rel["pagerank"]), | "Score": "%.2f" % (rel["sim"] * rel["pagerank"]), | ||||
| "Description": json.loads(rel["description"]).get("description", "") | |||||
| "Description": desc | |||||
| }) | }) | ||||
| max_token -= num_tokens_from_string(str(relas[-1])) | max_token -= num_tokens_from_string(str(relas[-1])) | ||||
| if max_token <= 0: | if max_token <= 0: |
| continue | continue | ||||
| if isinstance(v, str): | if isinstance(v, str): | ||||
| v = re.sub(r"(['\n\r]|\\.)", " ", v) | 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): | elif isinstance(v, int) or isinstance(v, float): | ||||
| scripts.append(f"ctx._source.{k}={v};") | scripts.append(f"ctx._source.{k}={v};") | ||||
| elif isinstance(v, list): | 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: | else: | ||||
| raise Exception( | raise Exception( | ||||
| f"newValue `{str(k)}={str(v)}` value type is {str(type(v))}, expected to be int, str.") | f"newValue `{str(k)}={str(v)}` value type is {str(type(v))}, expected to be int, str.") |