JSON Преобразование для использования в Elastic / Kibana Aggregations - PullRequest
0 голосов
/ 26 февраля 2020

Я работаю над агрегацией пар «ключ-значение» в Кибане, которые в настоящее время не имеют уникальных имен ключей, поэтому я понимаю, что должен произойти какой-то тип преобразования документа.

Эти пары «ключ-значение» помещаются в программный массив для обхода ограничения имени уникального ключа.

Проблема, с которой я сталкиваюсь в Kibana, заключается в том, что после того, как запрос выполнится, я напишу инструкцию KQL и скажу, что найдите все документы с уровнем соответствия 3 и ключом совпадения "+ ADDRESS-DOB-GENDER-SSN". Я теряю контекст значения ключа, о котором говорит агрегация, я могу вернуть 2 миллиона документов, но это может быть просто потому, что один из подписчиков имеет уровень соответствия 3, а не пациент.

Я думал о переименовании ключей, основываясь на значениях других ключей в том же объекте, но не знаю, как мне начать.

Вот пример уровня я ищу:

3 уровня соответствия для пациента

  • 250ACTI11111111111111111, ключ соответствия: + ADDRESS-DOB-GENDER-SSN

  • 950ACTI11111111111111111, ключ совпадения: + GENDER + ADDRESS-DOB-SSN

  • 556ACTI11111111111111111, ключ совпадения: + ADDRESS-DOB-GENDER-SSN

1 Уровень соответствия 2 для пациента

  • 702ACTI11111111111111111, ключ соответствия: + NAME + DOB-GENDER-SSN

2 Уровень соответствия 3 для абонента

  • 752ACTI11111111111111111, ключ соответствия + GENDER + ADDRESS-DOB

  • 592ACT11111111111111111, ключ матча: + GENDER + ADDRESS-DOB-SSN


     {
     “actorIdWrappers”: [
            {
          “actorId”: “250ACTI11111111111111111”,
          “matchLevel”: 3,
          “recordCount”: 1,
          “matchKey”: “+ADDRESS-DOB-GENDER-SSN”,
          “actorIdType”: “PATIENT”
        },
        {
          “actorId”: “950ACTI11111111111111111”,
          “matchLevel”: 3,
          “recordCount”: 1,
          “matchKey”: “+GENDER+ADDRESS-DOB-SSN”,
          “actorIdType”: “PATIENT”
        },
        {
          “actorId”: “556ACTI11111111111111111”,
          “matchLevel”: 3,
          “recordCount”: 1,
          “matchKey”: “+ADDRESS-DOB-GENDER-SSN”,
          “actorIdType”: “PATIENT”
        },
        {
          “actorId”: “702ACTI11111111111111111”,
          “matchLevel”: 2,
          “recordCount”: 1,
          “matchKey”: “+NAME+DOB-GENDER-SSN”,
          “actorIdType”: “PATIENT”
        },
        {
          “actorId”: “752ACTI11111111111111111”,
          “matchLevel”: 3,
          “recordCount”: 1,
          “matchKey”: “+GENDER+ADDRESS-DOB”,
          “actorIdType”: “SUBSCRIBER”
        },
        {
          “actorId”: “592ACT11111111111111111”,
          “matchLevel”: 3,
          “recordCount”: 1,
          “matchKey”: “+GENDER+ADDRESS-DOB-SSN”,
          “actorIdType”: “SUBSCRIBER”
        }
     ]
    } 


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...