Регистрация  |  Вход

Search by many fields

Вообщем кейс такой. Надо делать поиск по нескольким текстовым полям на обьекте по одному тесктовому фильтру.
И 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.