Не уверен, что это именно то, что вам нужно, но что-то вроде этого?
public list<sObject> Querylist {get; set;}
Определить строку поиска
string QueryString = 'select field1__c, field2__c from Object where';
Добавьте столько, сколько вам нужно, чтобы построитьпоиск, если пользователь ищет в этих полях
if(searchParameter.field1__c != null && searchParameter.field1__c != '')
{
QueryString += ' field1__c like \'' + searchParameter.field1__c + '%\' and ';
}
if(searchParameter.field2__c != null && searchParameter.field2__c != '')
{
QueryString += ' field2__c like \'' + searchParameter.field2__c + '%\' and ';
}
Удалить последний и
QueryString = QueryString.substring(0, (QueryString.length()-4));
QueryString += ' limit 200';
добавить запрос в список
for(Object sObject : database.query(QueryString))
{
Querylist.add(sObject);
}