I have the following json context and I have requirement to read the complete document and identify the distinct keyword under “conversion_token” group and output how many times keyword is occurred, count, classify in the output results;
input:
{
“select_emp”: {
“specification”: {
“input”: [
“p_empno”
],
“declare_stmt”: {
“anchorvariable”: [
“V_ENAME”,
“V_HIREDATE”,
“V_TITLE”,
“V_REPORTSTO”,
“V_DISP_DATE”,
“V_INS_COUNT”,
“CITY_FROM”
],
“tablename_variable”: [
“EMPLOYEE.V_ENAME”,
“EMPLOYEE.V_HIREDATE”,
“EMPLOYEE.V_TITLE”,
“EMPLOYEE.V_REPORTSTO”,
“EMPLOYEE.V_DISP_DATE”,
“EMPLOYEE.V_INS_COUNT”,
“EMPLOYEE.CITY_FROM”
]
}
},
“body”: {
“select_stmt1”: {
“columns”: [
“FIRSNAME”,
“HIREDATE”,
“TITLE”,
“REPORTSTO”
],
“tablename”: [
“EMPLOYEE”
],
“conversion_token”: [
{
“keyword”: “NVL”,
“count”: 1,
“classify”: 2
}
]
},
“select_stmt2”: {
“columns”: [
“CITY”
],
“tablename”: [
“EMPLOYEE”
],
“conversion_token”: [
{
“keyword”: “DECODE”,
“count”: 1,
“classify”: 3
}
]
},
“dbms_stmt1”: {
“dbms_putline”: [
“P_EMPNO”,
“V_ENAME”,
“V_DISP_DATE”,
“V_REPORTSTO”
],
“conversion_token”: [
{
“keyword”: “DBMS”,
“count”: 1,
“classify”: 2
}
]
},
“forloop1”: {
“select_stmt”: {
“columns”: [
“EMPLOYEEID”,
“ROWID”
],
“tablename”: [
“EMPLOYEE”
],
“conversion_token”: [
{
“keyword”: “DBMS”,
“count”: 1,
“classify”: 2
}
]
}
},
“merge_stmt1”: {
“merge_into”: “EMPLOYEE”,
“merge_using”: {
“columns”: [
“EMPLOYEEID”,
“LASTNAME”,
“TITLE”,
“BIRTHDATE”,
“HIREDATE”,
“ADDRESS”,
“CITY”,
“STATE”,
“COUNTRY”,
“POSTALCODE”,
“PHONE”,
“FAX”,
“EMAIL”,
“BONUS”
],
“tablename”: [
“EMPLOYEE”
]
},
“merge_update”: {
“columns”: [
“BONUS”
],
“tablename”: [
“EMPLOYEE”
]
},
“merge_delete”: {
“columns”: [
“BONUS”
],
“tablename”: [
“EMPLOYEE”
]
},
“merge_insert”: {
“columns”: [
“EMPLOYEEID”,
“LASTNAME”,
“FIRSTNAME”,
“TITLE”,
“BIRTHDATE”,
“HIREDATE”,
“ADDRESS”,
“CITY”,
“STATE”,
“COUNTRY”,
“POSTALCODE”,
“PHONE”,
“FAX”,
“EMAIL”,
“BONUS”
],
“tablename”: [
“EMPLOYEE”
]
},
“conversion_token”: [
{
“keyword”: “Merge”,
“count”: 1,
“classify”: 4
}
]
},
“exception_handling1”: {
“dbms_putline”: [
“P_EMPNO”
],
“conversion_token”: [
{
“keyword”: “DBMS”,
“count”: 1,
“classify”: 2
}
]
}
}
}
}
output: it should aggregate the group “keyword”, count, classify and results the final array;
{
“conversion_token”: [{
“keyword”: “NVL”,
“count”:1,
“classify”:2},
{
“keyword”: “DBMS”,
“count”:6,
“classify”:2},
{
“keyword”: “DECODE”,
“count”:2,
“classify”:3
}
}
& my next step is to loop through the same functionality across all the documents inside one collection and display the above output;