В связи с предыдущим вопросом Как сделать поле _source динамическим? Я смог сделать поле _source шаблона поиска динамическим из внешнего интерфейса, но из-за недопустимого формата JSON мне пришлось преобразовать его в строковый формат. что очень тяжело читать. Есть ли способ сделать это в читаемом виде? Я пробовал \
после каждой новой строки делать (как это предлагается в ruby), но не мог заставить его работать.
"source": "{\"query\":{\"bool\":{\"must\":{\"match\":{\"line\":\"{{text}}\"}},\"filter\":{{{#line_no}}\"range\":{\"line_no\":{{{#start}}\"gte\":\"{{start}}\"{{#end}},{{/end}}{{/start}}{{#end}}\"lte\":\"{{end}}\"{{/end}}}}{{/line_no}}}}}}"
это строковый запрос, сохраненный в файле YML.
Я пробовал использовать рубиновую многострочную строку, но все равно выдавал ошибку синтаксического анализа. Я создал файл template.yml и сохранил шаблон, как указано ниже.
template: |
{
"script": {
"lang": "mustache",
"source": '{'\
'"_source": {{#toJson}}fields{{/toJson}}'\
'}'\
}
}
также пробовал заменить двойными кавычками и все еще не помогает.
YML.load_file(file_path)
‹= этим я загружаю файл и получаю шаблон поиска из файла YML. Этого достаточно ? - person amitchauh4n   schedule 16.03.2021