Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagetext
themeMidnight
java -jar -Dfile.encoding=UTF-8 saga-server-parser-0.0.1-SNAPSHOT.jar config.json pipelines.json

Server Configuration

Bellow is a partial example of the Server Parser config, we omitted the aggregations and fetchTimestamp aggregation from the providers to reduce space in this example:

Code Block
themeDJango
titleconfig.json
linenumberstrue
collapsetrue
{
  "config": {
    "apiPort": 8080,
    "libraryJars": ["./lib"],
    "actionManagerConfig": {
      "actions": "actions-provider:actiongroups"
    },
    "actionProviders": [
      {
        "name": "constant",
        "display": "Constant",
        "type": "Constant",
        "fetchesData": false
      },
      {
        "name": "Human",
        "display": "Human",
        "type": "Elasticsearch",
        "fetchesData": true,
        "transformation": "./transformations/es-transformation.js",
        "hosts": [
          {
            "host": "localhost",
            "port": 9200,
            "schema": "http"
          }
        ],
        "index": "wikidata",
        "query": {
          "bool": {
            "should": [
              {
                "term": {
                  "_id": {
                    "value": "{{human._id}}",
                    "boost": 9999
                  }
                }
              },
              {
                "match_phrase": {
                  "label": {
                    "query": "{{human}}",
                    "boost": 1
                  }
                }
              },
              {
                "match_phrase": {
                  "aliases": {
                    "query": "{{human}}",
                    "boost": 2
                  }
                }
              },
              {
                "query_string": {
                  "query": "{{human.match}}"
                }
              }
            ]
          }
        }
      },
      {
        "name": "geography",
        "display": "Geography",
        "type": "Elasticsearch",
        "fetchesData": true,
        "transformation": "./transformations/es-transformation.js",
        "hosts": [
          {
            "host": "localhost",
            "port": 9200,
            "schema": "http"
          }
        ],
        "index": "wikidata",
        "query": {
          "bool": {
            "should": [
              {
                "term": {
                  "_id": {
                    "value": "{{geography._id}}",
                    "boost": 9999
                  }
                }
              },
              {
                "match_phrase": {
                  "label": {
                    "query": "{{geography}}",
                    "boost": 1
                  }
                }
              },
              {
                "match_phrase": {
                  "aliases": {
                    "query": "{{geography}}",
                    "boost": 2
                  }
                }
              },
              {
                "query_string": {
                  "query": "{{geography.match}}"
                }
              }
            ]
          }
        }
      },
      {
        "name": "currency",
        "display": "Currency",
        "type": "Openexchange",
        "transformation": "./transformations/openexchange-transformation.js",
        "fetchesData": false,
        "appId": "6cfdc0df634a4796b1a40748cdbe6006"
      }
    ],
    "providers": [
      {
        "name": "actions-provider",
        "type": "MongoDB",
        "uri": "mongodb://localhost:27017",
        "database": "sagaDB",
        "aggregation": [...],
        "transactionCollection": "transactions",
        "fetchTimestamp": [...]
      },
      {
        "name": "entity-provider",
        "type": "MongoDB",
        "uri": "mongodb://localhost:27017",
        "database": "sagaDB",
        "aggregation": [...],
        "transactionCollection": "transactions",
        "fetchTimestamp": [...]
      },
      {
        "name": "patterns-provider",
        "type": "MongoDB",
        "uri": "mongodb://localhost:27017",
        "database": "sagaDB",
        "aggregation": [...],
        "transactionCollection": "transactions",
        "fetchTimestamp": [...]
      },
      {
        "name": "regex-provider",
        "type": "MongoDB",
        "uri": "mongodb://localhost:27017",
        "database": "sagaDB",
        "aggregation": [...],
        "transactionCollection": "transactions",
        "fetchTimestamp": [...]
      }
    ]
  }
}
  • apiPort - port in which the server will listen for request
  • libraryJars - paths to the folders holding the jar which need to be added to the classpath. The paths can be either absolute or relative
  • actionManagerConfig - Configuration of the Action Manager, it decides which action providers needs to handle the graph response
    • actions - call the resource provider holding the action definitions.
  • actionProviders - A list of the implemented action providers to be use in the Action Manager. Each action definition can be found in Saga Actions
  • providers - Standar resource providers, the provider holding the actions is declared in this section also.