API Phrase TMS

Aggregazioni analisi (TMS)

Contenuti tradotti automaticamente dall'inglese con Phrase Language AI.

Il datastore che esegue query di aggregazione si basa su Elasticsearch (attualmente versione 1.7.x). Elasticsearch fornisce ricerche in tempo reale e funzionalità di aggregazione con l'API di analisi che forma un livello sottile e migliorato di sicurezza. Negli esempi vengono utilizzate query Elasticsearch e lingua di aggregazione.

  • La lingua utilizzata nel campo filtro della query JSON è descritta nella documentazione DSL della query.

  • La lingua utilizzata nel campo delle aggregazioni della query JSON è completamente descritta nella documentazione Elasticsearch Aggregations.

Indici

Diversi tipi di dati vivono in indici diversi. Ad esempio, i dati sul lavoro figurano nell'indice jobPart e i costi nell'indice dei costi. I dati richiesti possono essere specificati specificando l'indice nell'URL dell'endpoint API di aggregazione.

Documenti (entità) principali

Parte delle informazioni su un lavoro si trovano in due documenti diversi nel DB di Elasticsearch. Questi documenti hanno un rapporto (entità) principale. Ad esempio, le informazioni sul progetto di un lavoro sono contenute nel documento dell'entità principale, mentre le informazioni sul lavoro stesso sono contenute nel documento (entità) subordinata. A seconda delle informazioni richieste, le aggregazioni sono precedenti all'aggregazione dati entità principale-(entità) subordinata o successive, ma l'aggregazione dei dati stessa dovrebbe essere presente in tutte le query.

Modelli di dati indice

Dati comuni

Analisi

{
  "ID": stringa,
  "createdBy": <utente>,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "innerId": numero,
  "name": stringa,
  "tag": stringa[],
  "cestinato": booleano,
  "trashedBy": <Utente>,
  "type": stringa
}

Incarico

{
  "name": stringa,
  "linguist": <User>,
  "vendor": <vendor>
}

Portale richiedente

{
  "ID": stringa,
  "createdBy": <utente>,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "name": stringa,
  "tag": stringa[],
  "cestinato": booleano,
  "urlId": stringa
}

Buyer

{
  "ID": stringa,
  "name": stringa
}

Cliente

{
  "ID": stringa,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "externalId": stringa,
  "name": stringa,
  "tag": stringa[],
  "cestinato": booleano,
}

CostCenter

{
  "ID": stringa,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "name": stringa,
  "tag": stringa[],
  "cestinato": booleano,
}

Dominio

{
  "ID": stringa,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "name": stringa,
  "tag": stringa[],
  "cestinato": booleano
}

Lavoro

{
  "ID": stringa,
  "createdBy": <utente>,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "estensione": stringa,
  "fileName": stringa,
  "groupCount": numero,
  "innerId": "1",
  "languagePair": stringa,
  "lastModified": Data,
  "localePair": stringa,
  "sourceLanguage": stringa,
  "sourceLocale": stringa,
  "tag": stringa[],
  "targetLanguage": stringa,
  "targetLocale": stringa",
  "taskId": stringa,
  "cestinato": booleano,
  "trashedBy": <Utente>,
  "uid": stringa
}

JobPart

{
  "id": "19",
  "assignedTo": <Assegnazione>,
  "beginIndex": numero,
  "committente": <committente>,
  "createdBy": <utente>,
  "dateCreated": Data,
  "dateDue": Data,
  "endIndex": numero,
  "groupCount": numero,
  "innerId": stringa,
  "lastModified": Data,
  "livello": numero,
  "stato": stringa,
  "tag": [],
  "uid": stringa,
  "workflowStep": <WorkflowStep>
}

MtEngine

{
  "ID": stringa,
  "eliminato": booleano,
  "predefinito_: booleano,
  "includeTags": booleano,
  "name": stringa,
  "tag": stringa[],
  "type": stringa,
}

NetRateScheme

{
  "ID": stringa,
  "createdBy": <utente>,
  "dateCreated": Data,
  "dataEliminata": Data,
  "default_": booleano,
  "eliminato": booleano,
  "externalId": stringa,
  "name": stringa,
  "tag": stringa[],
}

Listino prezzi

{
  "ID": stringa,
  "createdBy": <utente>,
  "valuta": stringa,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "default_": booleano,
  "eliminato": booleano,
  "name": stringa,
  "tag": stringa[],
  "cestinato": booleano,
  "unità": stringa
}

Progetto

{
  "ID": stringa,
  "committente": <committente>,
  "cliente": <Cliente>,
  "costCenter": <Centro di costo>,
  "createdBy": <utente>,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateDue": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "dominio": <Dominio>,
  "innerId": numero,
  "languagePairs": stringa[],
  "localePairs": stringa[],
  "mtEngine": <MtEngine>,
  "name": stringa,
  "note": stringa,
  "proprietario": <utente>,
  "sourceLanguage": stringa,
  "sourceLocale": stringa,
  "stato": stringa,
  "sottodominio": <Sottodominio>,
  "tag": stringa[],
  "targetLanguages": stringa[],
  "targetLocales": stringa[],
  "cestinato": booleano,
  "trashedBy": <Utente>,
  "uid": stringa,
  "vendor": <vendor>
}

Preventivo

{
  "ID": stringa,
  "createdBy: <Utente>,
  "valuta": stringa,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "innerId": stringa,
  "name": stringa,
  "stato": stringa,
  "tag": stringa[],
  "cestinato": booleano,
  "trashedBy": <Utente>,
  "unità": stringa
}

Servizio

{
  "ID": stringa,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "name": stringa,
  "publicName": stringa,
  "tag": stringa[],
  "cestinato": booleano,
  "type": stringa
}

SubDomain

{
  "ID": stringa,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "name": stringa,
  "tag": stringa[],
  "cestinato": booleano
}

Utente

{
  "ID": numero,
  "attivo": booleano,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "e-mail": stringa,
  "firstName": stringa,
  "fullName": stringa,
  "innerId": numero,
  "jobTitle": stringa,
  "lastName": stringa,
  "impostazioni locali": stringa,
  "note": stringa,
  "ruolo": stringa,
  "tag": stringa[],
  "fuso orario": stringa,
  "cestinato": booleano,
  "userName": stringa
}

Vendor

{
  "ID": stringa,
  "candidato": booleano,
  "dateCreated": Data,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "eliminato": booleano,
  "tag": stringa[],
  "token": stringa,
  "cestinato": booleano
}

WorkflowStep

{
  "ID": stringa,
  "abbreviazione": stringa,
  "dataEliminata": Data,
  "dateTrashed": Data,
  "name": stringa,
  "ordine": numero,
  "tag": stringa[],
  "cestinato": booleano
}

Indice di analisi

Aggregazione dei dati

"dati": {
  "bambini": {
    "type": "analysisType"
  }
}

Documento entità principale

{
  "automationWidget": <AutomationWidget>,
  "progetto": <Progetto>,
  "servizio": <Servizio>
}

Documento (entità) subordinato

{
  "analisi": <analisi>,
  "jobPart": <JobPart>,
  "lavoro": <Lavoro>,
  "netRateScheme": <NetRateScheme>,

  "priorità": numero,
  "dati": {
    "mt": {
      "match0": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match100": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match50": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match75": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match85": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match95": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      }
    },
    "ripetizioni": {
      "caratteri": numero,
      "pagine": numero,
      "percentuale": numero,
      "segmenti": numero,
      "parole": numero
    },
    "tm": {
      "match0": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match100": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match101": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match50": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match75": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match85": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      },
      "match95": {
        "caratteri": numero,
        "pagine": numero,
        "percentuale": numero,
        "segmenti": numero,
        "parole": numero
      }
    },
    "totale": {
      "caratteri": numero,
      "pagine": numero,
      "percentuale": numero,
      "segmenti": numero,
      "parole": numero
    }
  }
}

Indice API

Aggregazione dei dati

"dati": {
  "bambini": {
    "type": "apiType"
  }
}

Documento entità principale

{
  "user": <User>
}

Documento (entità) subordinato

{
  "richiesta": {
    "data": Data,
    "host": stringa,
    "ipv4": stringa,
    "ipv6": stringa,
    "posizione": stringa,
    "metodo": stringa
  },
  "risposta": {
    "data": Data,
    "durata": numero,
    "stato": numero
  },
  "api": {
    "azione": stringa,
    "asincrono": booleano,
    "type": stringa,
    "uri": stringa,
    "ver": stringa
  }
}

Indice dei costi

Aggregazione dei dati

"dati": {
  "bambini": {
    "type": "costsType"
  }
}

Documento entità principale

{
  "automationWidget": <AutomationWidget>,
  "progetto": <Progetto>,
  "servizio": <Servizio>
}

Documento (entità) subordinato

{
  "analisi": <analisi>,
  "lavoro": <Lavoro>,
  "jobPart": <JobPart>,
  "netRateScheme": <NetRateScheme>,
  "Listino prezzi": <Listino prezzi>,
  "preventivo": <Preventivo>,
  "workflowStep": <WorkflowStep>,
  
  "priorità": numero,
  "dati": {
    "mt": {
      "match0": numero,
      "match100": numero,
      "match50": numero,
      "match75": numero,
      "match85": numero,
      "match95": numero
    },
    "ripetizioni": numero,
    "tm": {
      "match0": numero,
      "match100": numero,
      "match101": numero,
      "match50": numero,
      "match75": numero,
      "match85": numero,
      "match95": numero
    },
    "totale": numero
  }
}

Indice jobPart

Aggregazione dei dati

"dati": {
  "bambini": {
    "type": "jobPartType"
  }
}

Documento entità principale

{
  "automationWidget": <AutomationWidget>,
  "progetto": <Progetto>,
  "servizio": <Servizio>
}

Documento (entità) subordinato

{
  "lavoro": <Lavoro>,
  "jobPart": <JobPart>

  "dati": {
    "conteggi": {
      "chars": {
      "totale": numero,
      "confermato": numero,
      "notConfirmed": numero,
      "bloccato": numero,
      "notLocked": numero,
      "confirmedAndLocked": numero,
      "notConfirmedAndLocked": numero,
      "completato": numero,
      "notCompleted": numero
    },
    "gruppi": {
      "totale": numero
    },
    "segmenti": {
      "totale": numero,
      "confermato": numero,
      "notConfirmed": numero,
      "bloccato": numero,
      "notLocked": numero,
      "confirmedAndLocked": numero,
      "notConfirmedAndLocked": numero,
      "completato": numero,
      "notCompleted": numero,
      "mt": {
        "postEdited": numero,
        "rilevante": numero,
        "notRelevant": numero
      },
      "qa": {
        "controllato": numero,
        "notChecked": numero
      }
    },
    "parole": {
      "totale": numero,
      "confermato": numero,
      "notConfirmed": numero,
      "bloccato": numero,
      "notLocked": numero,
      "confirmedAndLocked": numero,
      "notConfirmedAndLocked": numero,
      "completato": numero,
      "notCompleted": numero
    },
    "qa": {
      "avvisi": numero,
      "ignoredWarnings": numero,
      "notIgnoredWarnings": numero
    }
  }
}

Esempi

  • Le richieste HTTP vengono eseguite in Postman.

  • Accedi tramite un profilo PM o amministratore e ottieni un token di accesso utilizzando un'API di accesso.

  • POST richieste ad API/v3/Analitica/LavoroPart?Token=<your_login_Token>

Numero totale di lavori

Query

{
  "aggregazioni": {
    "dati": {
      "bambini": {
        "type": "jobPartType"
      }
    }
  }
}

Risposta

{
  "hits": {
    "totale": 359
  },
  "aggregazioni": {
    "dati": {
      "doc_count": 14417
    }
  }
}

Sotto il campo aggregazioni, l'aggregazione dei dati ha risposto con 14.417 documenti corrispondenti mostrati nel campo doc_count.

Numero totale di parole di origine

Query

{
  "aggregazioni": {
    "dati": {
      "bambini": {
        "type": "jobPartType"
      },
      "aggs": {
        "wordCount": {
          "sum": {
            "campo": "data.volume.words"
          }
        }
      }
    }
  }
}

Risposta

{
  "hits": {
    "totale": 359
  },
  "aggregazioni": {
    "dati": {
      "doc_count": 14417,
      "wordCount": {
        "valore": 6893067
      }
    }
  }
}

Numero totale di parole di origine diviso per lingua di destinazione

Query

{
  "aggregazioni": {
    "dati": {
      "bambini": {
        "type": "jobPartType"
      },
      "aggs": {
        "byTargetLanguage": {
          "termini": {
            "field": "job.targetLanguage",
            "dimensione": 3
          },
          "aggs": {
            "wordCount": {
              "sum": {
                "campo": "data.volume.words"
              }
            }
          }
        }
      }
    }
  }
}

Risposta

{
  "hits": {
    "totale": 359
  },
  "aggregazioni": {
    "dati": {
      "byTargetLanguage": {
        "doc_count_error_upper_bound": 0,
        "sum_other_doc_count": 10071,
        "secchi": [
          {
            "doc_count": 1835,
            "wordCount": {
              "valore": 702721
            },
            "chiave": "cs"
          },
          {
            "doc_count": 1491,
            "wordCount": {
              "valore": 2602529
            },
            "chiave": "de"
          },
          {
            "doc_count": 1020,
            "wordCount": {
              "valore": 92676
            },
            "chiave": "fi"
          }
        ]
      },
      "doc_count": 14417
    }
  }
}

L'entità Buckets viene mostrata nella risposta. Quando al modulo Analytics viene chiesto di dividere i dati per qualche categoria, il risultato viene rappresentato come un elenco di bucket. Ogni bucket contiene una chiave che definisce quali dati rappresenta questo bucket (in questo caso una lingua di destinazione) e un valore (altre aggregazioni) specifico solo per questa parte del set di dati.

Numero totale di lavori divisi per stato progetto

Query

{
  "aggregazioni": {
    "projectStatus": {
      "termini": {
        "campo": "progetto.stato"
      },
      "aggs": {
        "dati": {
          "bambini": {
            "type": "jobPartType"
          }
        }
      }
    }
  }
}

Risposta

{
  "hits": {
    "totale": 359
  },
  "aggregazioni": {
    "projectStatus": {
      "doc_count_error_upper_bound": 0,
      "sum_other_doc_count": 0,
      "secchi": [
        {
          "doc_count": 326,
          "dati": {
            "doc_count": 14318
          },
          "chiave": "NUOVO"
        },
        {
          "doc_count": 31,
          "dati": {
            "doc_count": 89
          },
          "chiave": "COMPLETATO"
        },
        {
          "doc_count": 1,
          "dati": {
            "doc_count": 4
          },
          "chiave": "ASSEGNATO"
        },
        {
          "doc_count": 1,
          "dati": {
            "doc_count": 6
          },
          "chiave": "DECLINED_BY_VENDOR"
        }
      ]
    }
  }
}

Al modulo di analisi è stato detto di dividere i dati per stato progetto prima dell'aggregazione dei dati.

Numero totale di lavori da nuovi progetti

Query

{
  "filtrare": {
    "termine": {
      "project.status": "NUOVO"
    }
  },
  "aggregazioni": {
    "dati": {
      "bambini": {
        "type": "jobPartType"
      }
    }
  }
}

Risposta

{
  "hits": {
    "totale": 326
  },
  "aggregazioni": {
    "dati": {
      "doc_count": 14318
    }
  }
}

Il campo filtro è usato nella query. Questo restringe i dati prima di seguire le aggregazioni.

Questo articolo ti è stato utile?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.