que quelqu'un peut me dire pourquoi cela fonctionne:FQL comme opérateur
SELECT name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=me()) AND strpos(lower(name),"jo") >=0
mais cela ne fonctionne pas:
"SELECT url, id, type, site FROM object_url WHERE strpos(lower(url), 'sephora') >= 0"
Quand je le mets dans http://developers.facebook.com/docs/reference/rest/fql.query/
Je reçois cette réponse:
Votre instruction n'est pas indexable. La clause WHERE doit contenir une colonne indexable. Ces colonnes sont marquées d'un * dans les tables liées http://developers.facebook.com/docs/reference/fql
cependant "url" est en effet indexable.
des pensées? J'ai déjà parcouru stackoverflow mais aucune réponse n'a été trouvée.
typo ... en fait, il aurait dû être une URL depuis le début. édité la question. le résultat est toujours le même. – Rees
Ensuite, je pense que c'est parce que l'exemple le plus haut n'utilise pas les fonctions de l'index. Alors, où uid IN (SELECT uid2 FROM ami O u uid1 = moi()) agit comme l'index, puis utilise le reste de la clause where. Donc exécuter l'URL SELECT, id, type, site FROM object_url WHERE url = 'sephora' et strpos (lower (url), 'sephora')> = 0 serait une requête valide (bien que de toute évidence, aucun résultat ne soit retourné comme url = 'sephora' n'est pas une URL complète) donc il semble que vous ayez besoin de changer votre requête – TommyBs