Конфигурация фильтра Logsta sh для вставки записей с сервера ms- sql вasticsearch для строки json и вложенного типа - PullRequest
0 голосов
/ 29 апреля 2020

У нас есть строковый столбец в таблице базы данных, который содержит данные JSON. У нас есть индекс, созданный вasticsearch, который использует вложенный тип для столбца, который представляет данные json.

Мы используем logsta sh для перемещения записей из ms- sql вasticsearch. когда мы запускаем файл logsta sh conf, он показывает исключение как «сопоставление объектов для [jsonarrayversion], которое пыталось проанализировать поле [jsonarrayversion] как объект, но нашло конкретное значение»

Какой тип фильтра мы следует создать в файле logsta sh .conf, чтобы он соответствовал / преобразовывал данные строки json во вложенный тип?

Индекс: cs_array

PUT cs_array
{
  "mappings": {
      "properties": {
        "id": {
          "type": "long"
        },
        "name": {
          "type": "text"
        },
        "isdeleted": {
          "type": "boolean"
        },
        "jsonarrayversion": {
          "type": "nested",
          "properties": {
            "id": {
              "type": "long"
            },
            "name": {
              "type": "text"
            }
          }
        }
      }
    }
}

Публикация записей в индексе

POST cs_array/_doc
{
  "id" : 2,
  "name": "R800",
  "isdeleted": false,
  "jsonarrayversion": [
    {
      "name": "Test 1",
      "id": 11
    },
    {
      "name": "Test 2",
      "id": 19
    },
    {
      "name": "Test 3",
      "id": 21
    }
  ]
}

Ниже приведена структура нашей таблицы.

...