# Use QMS Synonym Functionality

The Query Manipulation Server (QMS) is an ACI server that can manipulate queries and the results returned from an underlying IDOL Server data index. One of its features is the ability to complete synonym expansion on the query text.

QMS acts as a proxy between the user interface and the data Content server. It communicates with both the data Content server, and an Agentstore component that holds the synonym rules.

Using QMS is scalable and dynamic, like the additional synonym server approach. It also reduces the amount of knowledge that the user interface requires of the server implementation. You can also use this method to substitute phrases in or out of the query text, which is not available in the synonym server method.

## Configuration

For general information about how to set up a QMS instance, refer to the Query Manipulation Server Administration Guide.

When QMS is available, you must index the QMS AgentStore component with synonym rules. A synonym rule has the general form:

    #DREREFERENCE synonym-rule-1
    #DRETITLE
    Dogs
    #DREFIELD QMSTYPE="4"
    #DREFIELD QMSAGENTBOOL="terrier OR hound OR collie"
    #DREFIELD CONCEPT="dog"
    #DREFIELD KEYWORDS="terrier,hound,collie"
    #DRECONTENT
    terrier hound collie
    #DREENDDOC

where,

`#DREFIELD QMSTYPE` | has the value 4 to mark this rule as a synonym rule.
`#DREFIELD KEYWORDS` | represents the words that appear in the original query text.
`#DRECONTENT` | contains the values in the `KEYWORDS` field.
`#DREFIELD CONCEPT` | is the value to replace the `KEYWORDS` with.

The example rule describes the relationship between hyponyms (terrier, hound, and collie), and their hypernym (dog). When the broader variation of the word is used in a query text, QMS maps it to the simpler form. For example, in this case all instances of terrier, hound, and collie in the query text are replaced with the word dog.

TIP: You can use the QMS synonym rules with the `SYNONYM` query operator, by including the `SYNONYM` operator in the `CONCEPT` field. This operator specifies a list of synonymous terms to search for. In the query, IDOL Server returns results that contain any of the synonyms, but treats all the synonyms as a single term for result scoring. For example:

    #DREFIELD CONCEPT="SYNONYM(terrier hound collie)"

For more information, refer to the IDOL Server Administration Guide.

You can add other details to the rules, such as the AgentBoolean expression for advanced rule matching. For more information, refer to the Query Manipulation Server Administration Guide.

## Usage

To use synonyms with QMS, you must send the `Query` action to QMS, and include the `ExpandQuery` parameter, set to `True`. QMS retrieves the synonyms from the Agentstore component, incorporates any results, and then forwards the query to the data index.

_FT_HTML5_bannerTitle.htm