2011-11-17 10 views
14

¿Alguien sabe cómo hacer pedidos de lugares de Facebook por distancia desde una ubicación de búsqueda? Tenga en cuenta que no quiero pedir resultados en mi aplicación cliente. Quiero que el servidor de Facebook me proporcione resultados ordenados para facilitar la paginación. Siempre quiero agregar lugares de consultas posteriores al final de mi matriz.Lugares de Facebook: ordenar resultados por distancia

esto no parece posible utilizando la consulta de la API gráfica tales como:

https://graph.facebook.com/search?q=coffee&type=place&center=37.76,-122.427&distance=1000& .... porque no hay forma de saber Facebook para ordenar los resultados. El lugar más cercano puede ser el último en la lista de resultados devueltos.

He intentado replicar la consulta anterior utilizando FQL pero tengo un problema porque los campos de descripción de nombre & en la tabla de lugares de Facebook no son indexables. FQL tales como:

SELECT 
    page_id, name, display_subtext, description, 
    distance(latitude, longitude, "37.76", "-122.427"), checkin_count 
FROM place 
WHERE ((distance(latitude, longitude, "37.76", "-122.427") < 25000) 
    AND (strpos(lower(name), "coffee") >= 0 
    OR strpos(lower(description), "coffee") >= 0)) 
ORDER BY distance(latitude, longitude, "37.76", "-122.427") ASC 
LIMIT 20 OFFSET 0 

problema con esto es que los campos name y description no son indexables en el lugar de la tabla. Esto significa que no todos los resultados son devueltos por el FQL, hay muchos resultados faltantes.

¿Alguien sabe una manera de hacer esto?

Respuesta

12

Parece que es posible usar este FQL. La función contains parece funcionar igual que el parámetro q= Graph API. Aquí está su ejemplo usando contains

SELECT page_id, name, description, latitude, longitude, checkin_count, distance(latitude, longitude, "37.76", "-122.427") 
FROM place 
WHERE distance(latitude, longitude, "37.76", "-122.427") < 1000 
AND CONTAINS("coffee") 
ORDER BY distance(latitude, longitude, "37.76", "-122.427") 
LIMIT 20 
Cuestiones relacionadas