FQL как оператор - PullRequest
       5

FQL как оператор

0 голосов
/ 01 февраля 2012

Может кто-нибудь сказать мне, почему это работает:

SELECT name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) AND strpos(lower(name),"jo") >=0

однако это не так:

"SELECT url, id, type, site FROM object_url WHERE strpos(lower(url), 'sephora') >= 0"

Когда я вставляю это в http://developers.facebook.com/docs/reference/rest/fql.query/

Я получаюэтот ответ:

Ваше утверждение не индексируется.Предложение WHERE должно содержать индексируемый столбец.Такие столбцы отмечены * в таблицах, связанных с http://developers.facebook.com/docs/reference/fql

, однако «url» в действительно индексируемом.

есть мысли?Я уже просмотрел stackoverflow, но ответов не найдено.

Ответы [ 2 ]

1 голос
/ 01 февраля 2012

Сайт не индексируется, он доступен только для выбора.Здесь нет * рядом с ним https://developers.facebook.com/docs/reference/fql/object_url/

, вам нужно использовать url или id в качестве индексируемого столбца, так что в основном один из них должен быть в вашем предложении where.

0 голосов
/ 17 января 2013

FQL! = SQL Вы не можете ГДЕ ни в одном столбце, который хотите.Не удивительно, учитывая производительность, требуемую с таким количеством одновременно работающих авторов, я имею в виду, что один человек из каждых десяти в мире зарегистрировался.

Проблема во втором примере заключается в том, что поле, используемое в качестве параметра в одном изстроковые функции теряют свою индексируемость.Это должен быть сам столбец.

...