Due to the need to apply Platform Encryption to the email address field on Contact and the fact that you can't use encrypted fields in a SOQL WHERE clause, I'm trying to convert the query to a SOSL search.
Are these two snippets functionally equivalent? Doesn't feel like they are but not sure what the FIND clause should contain for SOSL
SOQL
for (Contact c : [Select Id, User__c, email, AccountId
from Contact
where (RecordTypeId = : EmployeeRecordTypeId
and User__c in : newUserMap.keyset())
or (User__c = null
and email in : userEmails)])
SOSL
for (Contact c : [FIND {:userEmails} IN ALL FIELDS
RETURNING Contact(Id,User__c,Email,AccountId
WHERE (RecordTypeId = :EmployeeRecordTypeId
AND User__c IN :: newUserMap.keyset())
OR User__c = null)])