Overview
The Attivio Intelligence Engine (AIE) can be configured to automatically modify and resubmit queries that don't retrieve any results. Two different configurations are available, and they can be used together if desired.
View incoming links.
Spellcheck Resubmission
In this configuration, AIE resubmits queries that return no results, modifying them as suggested by the spellchecker. See Manage Dictionaries and Configure Spell Checking for details.
And-To-Or Resubmission
The Simple Query Language defaults to ANDing all terms. A matching document must contain all terms of the query. This is sometimes too restrictive and the search produces zero results.
AIE can be configured to enable And-To-Or resubmission of unsuccessful queries. Once enabled, the unsuccessful query will be automatically resubmitted with the AND operators replaced by OR operators. By default, AIE sorts matching documents by the number of matching terms, so that the "best" of the partial matches rise to the top of the list. (See Machine Learning Relevancy for more information about result ranking.)
There are three steps required to enable And-To-Or query resubmission in AIE:
- Set the project's attivio.andToOrResubmit.enabled property to value true.
- Add the responseAndToOrResubmitter component to the project's response workflow.
- Increase the query's maximum-resubmit count to 1 or more to allow resubmission.
Configure attivio.andToOrResubmit.enabled
Add the andToOrResubmit.enabled=true property value to your project's properties file (<project_dir>\conf\properties\core-app\attivio.core-app.properties). Restart AIE to make this change take effect.
Add responseAndToOrResubmitter to Response Workflow
The second step is to configure the responseAndToOrResubmitter component, which should be visible in the AIE Administrator's System Management > Palette screen. Navigate to the AIE Administrator's System Management > Workflows > Response list and edit the defaultResponse workflow. Click the Add Existing Component button, and search for responseAndToOrResubmitter. Add it to the workflow, and then use the Move Up button to move it into the top position. Save the workflow.
The component sends queries back into the searcher workflow when they return zero results.
Set Query Maximum Resubmission Count
The final step is to set the query's maximum resubmission count to 1 or more. By default, this value is set to "0", meaning that no resubmission will be allowed.
You can control this value using the QueryRequest.setMaxResubmits() Java Client API method, as in:
QueryRequest request = new QueryRequest("*:*"); request.setMaxResubmits(1);
You can also use the q.maxResubmits parameter in the JSON REST API:
http://localhost:17000/admin/search?workflows=search&q=London+Paris&q.type=simple&q.maxresubmits=1
You can also set up resubmission on the AIE Administrator's Query > Debug Search page by setting a value in the Max Resubmits field.
The responseAndToOrResubmitter stage checks to see if a given query has already run, thereby avoiding infinite loops. Additionally, each query request may specify a maximum number of resubmissions that are permitted before results must be returned.
Using Both Resubmitters
Using both resubmitters is no problem - just follow the instructions in the previous sections. And-To-Or is applied first, then Spellchecker. Refer to the Workflow Configuration article for more details.