SOSL - Salesforce Object Search Language
Used to perform text search in records.
Use :
Syntax :
FIND 'SearchQuery' [IN SearchGroup] [RETURNING ObjectsAndFields];
SearchQuery
(a) Single Word
Should be enclosed in single Quotes.
(b) Phrase
Having multiple words and should be enclosed in double Quotes.
List<List<sObject>> qry = [FIND 'sanjay' RETURNING Account(Name), Contact(Name), Student__c(Name)];
for (List<sObject> element : qry) {
System.debug(element.getSObjectType());
for (sObject item : element) {
System.debug(item.get('Name'));
}
}
List<List<sObject>> qry = [FIND 'sanjay' IN NAME FIELDS RETURNING Account(Name), Contact(Name), Student__c(Name) LIMIT 4];
List<Account> acc = new List<Account>();
List<Contact> con = (List<Contact>) qry[1];
List<Student__c> stu = (List<Student__c>) qry[2];
acc = (List<Account>) qry[0];
for (Account item : acc) {
System.debug(acc.getSObjectType() + ' Name ' + item.Name);
}
for (Contact item : con) {
System.debug(con.getSObjectType() + ' Name ' + item.Name + ' Email ' );
}
for (Student__c item : stu) {
System.debug(stu.getSObjectType() + ' Name ' + item.Name);
}