Customizing query definitions

The search engine supports queries described in casey-questions*.json files stored in your NAM Server/config directory.

The default queries are described in the casey-questions*.json file that installs with the NAM Server.

Warning

The default queries file is overwritten at upgrade, so do not make any changes there. Keep a separate file in the same directory and keep a backup file somewhere secure.

Overview

Each casey-questions*.json file defines a list of "intents" – actions you intend to take based on "utterance" patterns.

  • The order of intents matters: define more specialized utterance patterns first.

  • The Data Center RUM 2017 May release comes with 29 intents which cover almost 2M question variations.

  • Utterance patterns, and therefore questions, can be defined in any language, but this release supports #TIME phrases in English only.

Syntax

For each report you want to open using queries, you need to:

  • Name the report. This is the exact report name in the NAM Server.
  • Describe the "utterances" (statements) that will invoke the report.
  • Describe how information extracted from the question should be mapped to report filters.

Definitions are structured like this:

This example shows how a report called "User explorer" can be opened using either of two utterances:

{     
	"report": "User explorer",       
	"utterances": [  
		"What <does|did> [user] (*) do [in|over] {#TIME}",
		"What <was|were|is> [user] (*) doing [in|over] {#TIME}"     
	],
	"mappings": [
		["BOTH", "userN"],
		["TIME", 1],
		["operations", "param2", "flowControl"]
	]
}

In the syntax definitions:

[] = not required, not being captured

<> = required, but not captured

() = required and captured as a filter

{} = not required, but captured as a filter

| = or

  • = anything

#TIME = a time phrase matching one of strings below