Open topic with navigation
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.
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.
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.
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
FieldText operator to the query.
You can completely replace the query text in a query, in one of two ways:
Query Cooking. QMS forwards the query text and some request parameters to an external Web service. It uses the response from the Web service as the new query text, and forwards that to the Content component. You can create a query cooker Web service to manipulate the query in any way that you want.
SynonymReplace. You can create synonym rules and then use the
SynonymReplace parameter in queries. In this case, when a query matches the synonym rule, QMS replaces the original query text with the query specified in the last matching synonym rule, and forwards that to the Content component.
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.
You can use whitelist and blacklist functionality to remove unwanted or unsuitable terms from query text.
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.