Вообщем кейс такой. Надо делать поиск по нескольким текстовым полям на обьекте по одному тесктовому фильтру.
И soql превращается в такое
fieldA__c LIKE :searchTermFilter OR fieldB__c LIKE :searchTermFilter OR fieldC__c LIKE :searchTermFilter OR fieldD__c LIKE :searchTermFilter OR fieldE__c LIKE :searchTermFilter
И так дальше... И такой запрос очень сильно медленный. Как вы решаете такие задачи?
P.S. Есть еще sosl, но он как-то странно работает. Я так и не нашел как сделать NAME FIELD на кастомном обьекте, а искать по всем полям и потом фильтровать будет не намного быстрей чем soql.
Вообщем кейс такой. Надо делать поиск по нескольким текстовым полям на обьекте по одному тесктовому фильтру. И soql превращается в такое [code]fieldA__c LIKE :searchTermFilter OR fieldB__c LIKE :searchTermFilter OR fieldC__c LIKE :searchTermFilter OR fieldD__c LIKE :searchTermFilter OR fieldE__c LIKE :searchTermFilter[/code] И так дальше... И такой запрос очень сильно медленный. Как вы решаете такие задачи? P.S. Есть еще sosl, но он как-то странно работает. Я так и не нашел как сделать NAME FIELD на кастомном обьекте, а искать по всем полям и потом фильтровать будет не намного быстрей чем soql.
Мне кажется искать по всем полям в SOSL и потом фильтровать будет, правильнее. Так как поля текстовые и скорее всего не индексированные, при большом количестве записей на этом объекте SOQL запрос будет падать в exception, так как запрос не будет укладываться в CPU limit.
Мне кажется искать по всем полям в SOSL и потом фильтровать будет, правильнее. Так как поля текстовые и скорее всего не индексированные, при большом количестве записей на этом объекте SOQL запрос будет падать в exception, так как запрос не будет укладываться в CPU limit.