Использование операторов strpos & lower в предложении WHERE делает их не индексируемыми.
В приведенном выше примере:
SELECT name
FROM user
WHERE uid IN (
SELECT uid2
FROM friend
WHERE uid1=me()
)
AND strpos(lower(name),"jo") >=0
Это работает, потому что вы используете индексируемое поле uid .
Вы можете использовать strpos & lower для некоторого подмножества данных, которое у вас уже есть с индексируемым полем.
В вашем примере у вас нет индексируемого поля, поэтому отображается ошибка.
Вы можете достичь того же результата, используя Graph API , например:
https://graph.facebook.com/search?q=coca&type=page