Я изменил идею и преобразовал строку в шестнадцатеричное, а затем сохранил это шестнадцатеричное значение в Elastic, потому что это обычная строка, которую не нужно экранировать, и затем, когда я читаю ее из Elastic, я просто возвращаю процесс следующим образом:
import binascii
# Convert string to hex
def toHex(text):
return binascii.hexlify(bytes(text, 'utf-8')).decode("utf-8")
# Convert hex to string
def toStr(text):
return binascii.unhexlify(bytes(text, 'utf-8')).decode("utf-8").replace('\\\\', '\\')
Это не прямой ответ на мой вопрос, но он работает для меня, так что, может быть, вы тоже найдете его полезным.