Query Manipulation Server

Query Manipulation ServerA server that manipulates incoming searches to modify the query, modify the results set, or return promotions. (QMS) provides many functions that help to simplify tasks in front-end application development. It acts as a proxy to the IDOL Server Content component, and can modify incoming queries, or manipulate the results set.

Personalize Search

You can use QMS to add personalized search to your applications, by using Intent Ranked Queries. Intent Ranked Queries return the results that matter most to a user at the top of a results set. QMS also marks the results that it promotes for the user, which allows your application developer to easily highlight the personalization in your application.

Application-Defined Similar Concept Search

You can use synonym rules to specify sets of terms that are similar to each other, according to your application requirements. Queries that contain one of the synonym terms activate the synonym rule, which adds all the synonyms to the query that it forwards to the Content component. The modified query then returns documents that match the original term and all its synonyms.


You can use promotion rules to define an arbitrary set of documents as relevant to a particular query.  You use an additional query to QMS to find matching promotions. When a user sends a query for something that matches one of your promotion rule, you can return the promotion documents return alongside the normal search results.

You might create promotion rules that display targeted advertisements next to the search results. This allows you to use a different format to display results that might not naturally return as the best matches for a search.

FieldText Manipulation

You can add to the FieldText portion of a query by using FieldText expansion rules. This allows you to add any FieldText operator to a query.

In an e-commerce application, you can bias a search in a particular product category towards a certain brand, by adding the BIAS FieldText operator to the query.

Query Text Replacement

You can completely replace the query text in a query, in one of two ways:

Arbitrary Request Manipulation

QMS Request cooking is similar to query cooking, but applies to all requests. QMS forwards the request to an external Web service, and uses the response as the action to send to the Content component. This process allows you to arbitrarily change the request, with the constraint that you cannot modify the action name.

Query Term Filtering

You can use whitelist and blacklist functionality to remove unwanted or unsuitable terms from query text.

Document Placement in Result Set

Cardinal placements allow you to place a specified document in a specified position in the query results when the query text matches the cardinal placement rule.

You can push a particular document to the top of the results set for all queries, if you want the document to always be seen prominently in the application.


If your application requires heavy usage of cardinal placements to put documents in the positions that you want, you might instead want to modify your IDOL configuration.


You can use activation timings for cardinal placement rules, and promotion rules, so that the rule is active only at specified times.

Activation timing schedules allow you to introduce time-limited offers in a promotion, or to use a cardinal placement rule to place a document to the top of the search rankings at a certain time of day.