schema

codium ./assets/diagrams/Schema.Git.Elasticsearch.drawio
PUT git-commits-*/_mapping
{
  "properties": {
    "message": { 
      "type":     "text",
      "fielddata": true
    },
    "repoName": { 
      "type":     "text",
      "fielddata": true
    },
    "authorName": { 
      "type":     "text",
      "fielddata": true
    },
    "authorEmail": { 
      "type":     "text",
      "fielddata": true
    },
    "authorEmailDomain": { 
      "type":     "text",
      "fielddata": true
    }
  }
}

git-repos

{
    "sourceURL" : INDEXED STRING,
        // github ,gitlab, etc....
    "ownerName" : INDEXED STRING,
    "repoName" : INDEXED STRING,
    "numCommits" : INT,
    "numCommitters" : INT,
    "firstCommit" : DATE TIME,
    "latestCommit" : DATE TIME
}

git-committers

{
    "name" : INDEXED STRING,
    "email" : INDEXED STRING,
    "emailDomain" : INDEXED STRING,
    "numTotalCommits" : INT,
    "numReposCommittedTo" : INT,
    "totalNumLinesAdded" : INT,
    "totalNumLinesRemoved" : INT
}

git-commits

{
    "id": STRING,
    "commit": STRING,
    "author" : STRING,
    "date" : DATE TIME,
    "message": INDEXED STRING,
    "repoName" : INDEXED STRING,
    "authorName": INDEXED STRING,
    "authorNameCount": INT,
    "authorEmail": INDEXED STRING,
    "authorEmailDomain": INDEXED STRING,
    "messageWordCount": INT,
    "messageCharacterCount": INT,
    "messageCharacterVersesWord": FLOAT,
    "urlCountInMessage" : INT,
    "pathCount" : INT,
    "totalInsertions" : INT,
    "totalDeletions" : INT, 
    "paths":[
         {
             "insertions": INT,
             "deletions": INT,
             "path": STRING
        }
        ......
    ]
}