Я работаю над агрегацией пар «ключ-значение» в Кибане, которые в настоящее время не имеют уникальных имен ключей, поэтому я понимаю, что должен произойти какой-то тип преобразования документа.
Эти пары «ключ-значение» помещаются в программный массив для обхода ограничения имени уникального ключа.
Проблема, с которой я сталкиваюсь в 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”
}
]
}