Можно ли выполнить подзапрос с помощью SOSL?

У меня есть запрос SOSL, который находит кампании Salesforce, и он отлично работает. Однако мне нужно получить всех членов команды учетной записи для каждой возвращенной кампании. Можно ли добавить в SOSL подзапрос?

Вот что у меня есть на данный момент:

List<List<sObject>> searchList = 
    [FIND :CampaignSearchTerm RETURNING Campaign (Id Where IsActive = true Order By Name)];

Если это невозможно, у меня другой вопрос. Могут ли результаты SOSL быть присвоены карте или набору, чтобы избежать необходимости объединять все идентификаторы в цикле for для запроса SOQL (ради эффективности)?

Спасибо!


person Matt K    schedule 15.11.2011    source источник
comment
Ага .. Я не думаю, что это возможно. По-видимому, нет документации по подзапросам в SOSL (к тому же это не сработало, когда я пытался), а в документации по SOSL указано, что SOSL возвращает данные только в формате List ‹List ‹sObject››. Если у кого-то есть лучшее решение, буду рад предложениям.   -  person Matt K    schedule 16.11.2011


Ответы (1)


Вы правы :) Но с точки зрения эффективности SOSL дает только <200 результатов, поэтому создание списков идентификаторов для SOQL должно иметь незначительное влияние.

person Adam    schedule 05.12.2011
comment
В итоге я использовал смесь SOSL и SOQL в зависимости от разных условий. Спасибо за напоминание об ограничении в 200 записей на SOSL. - person Matt K; 05.12.2011