Project

General

Profile

« Previous | Next » 

Revision 4364

search within specific fields - with option for matching any vs. all

View differences:

search.js
272 272
    return tempQuery;
273 273
}
274 274

  
275
function generateSearchString(searchString, searchAssessments, searchAssessmentItems) {
275
/**
276
*	@param searchTerms - and object (hashtable) with, pay attention now:
277
	keys are search values
278
*   values are pathexprs
279
**/
280
function generateSearchString(searchTerms, operator, searchAssessments, searchAssessmentItems) {
276 281
	var queryString = 
277 282
		"<pathquery version=\"1.2\">"
278 283
			+"<querytitle>Web-Search</querytitle>";
......
315 320
			+"<returnfield>response_label/@ident</returnfield>"
316 321
			+"<returnfield>response_label/material/mattext</returnfield>";
317 322
	}		
318
                                                   
323
    
324
    queryString +=
325
    	"<querygroup operator=\"" + operator + "\">";
326
                         
327
    for (var i in searchTerms) {
328
    	var key = i;
329
    	var value = searchTerms[i];                        
330
		queryString +=
331
			"<queryterm searchmode=\"contains\" casesensitive=\"false\">";
332
			if (key != "anyValue") {
333
				queryString += "<pathexpr>" + key + "</pathexpr>";
334
			}	
335
	      	queryString += "<value>" + value + "</value>";
336
	    queryString +="</queryterm>";
337
    }
338
    
319 339
	queryString +=
320
                 "<querygroup operator=\"UNION\">"
321
                         +"<queryterm searchmode=\"contains\" casesensitive=\"false\">"
322
                                 +"<value>" + searchString + "</value>"
323
                         +"</queryterm>"
324
                 +"</querygroup>"
340
		"</querygroup>"
325 341
	+"</pathquery>";
326 342
	
327 343
	return queryString;

Also available in: Unified diff