* @param query the query to process
* @param cParameter double the term frequency normalisation parameter value
* @param c_set specifies whether the given value for the parameter c should be used.
*/
public SearchRequest processQuery(String queryId, String query, double cParameter, boolean c_set) {
SearchRequest srq = queryingManager.newSearchRequest(queryId, query);
if (c_set)
srq.setControl("c", Double.toString(cParameter));
srq.addMatchingModel(mModel, wModel);
srq.setControl("qemodel", qeModel);
srq.setControl("qe", "on");
srq.setControl("c_set", ""+c_set);
if(logger.isInfoEnabled())
//logger.info("processing query " + queryId + " '"+ query + "'");
matchingCount++;
queryingManager.runPreProcessing(srq);
queryingManager.runMatching(srq);
final String cpost = ApplicationSetup.getProperty("c.post", null);
if (cpost != null)
{
srq.setControl("c", cpost);
srq.setControl("c_set", "true");
}
//else the c control is left as is. Ie if c_set is not true, then the weighting model's
//default value is kept
queryingManager.runPostProcessing(srq);
queryingManager.runPostFilters(srq);