2012-01-20 9 views
13

Obtengo algunos resultados erráticos de la API de búsqueda de lugares de Foursquare y me pregunto si alguien tiene algún consejo sobre cómo procesar mis parámetros de entrada para los resultados más "intuitivos".¿Cuál es la mejor manera de ajustar mis consultas de búsqueda de Foursquare API?

Por ejemplo, supongamos que estoy buscando un lugar llamado "Ise Sushi", alrededor de "Nueva York, NY", que es equivalente a (lat: 40.7143528, lon: -74.00597309999999) usando Google Maps API. Conectarse a la API de Foursquare lugar, obtenemos:

https://api.foursquare.com/v2/venues/search?query=ise%20sushi&ll=40.7143528%2C-74.00597309999999 

Esto produce resultados bastante decepcionantes: el lugar que estoy buscando termina bien lejos en la lista, en el puesto 11. Lo que es interesante es que reduciendo la precisión de las coordenadas parece producir resultados mucho mejores. Por ejemplo, supongamos que estábamos para redondear las coordenadas a 3 dígitos significativos:

https://api.foursquare.com/v2/venues/search?query=ise%20sushi&ll=40.7%2C-74.0 

este tiempo, el lugar que estoy buscando termina en segundo lugar, a pesar de que en realidad es más del centro de la búsqueda (1072 metros, frente a 833 metros con la primera consulta).

Otra modificación que aparece para ayudar a mejorar la calidad de la búsqueda es sustituyendo relieve para espacios para separar los términos de búsqueda. Por ejemplo, aquí está la búsqueda original de subrayado:

https://api.foursquare.com/v2/venues/search?query=ise_sushi&ll=40.7143528%2C-74.00597309999999 

Esto produce los resultados más intuitivos de apariencia: el lugar que estoy buscando aparece por primera vez, y se acompaña de un solo otro resultado "Ise restaurante" (que está etiquetado como un "restaurante de sushi"). Por lo que vale, esto realmente parece ser the result set of the same search realizado en el propio sitio web de Foursquare.

Tengo curiosidad por las lecciones que debería aprender de esto. ¿Debo reducir la precisión de mis coordenadas? ¿Debo conectar mis términos de búsqueda con guiones bajos? De ser así, ¿eso limita la forma en que un usuario puede ordenar sus términos de búsqueda?

+2

Gran pregunta, esta realmente debe ser respondida por alguien de Foursquare. Una cosa que hay que notar, la precisión lat/lng: I * think * que Foursquare trunca tu lat/lng, porque los sensores de los marfiles no son precisos, cualquier cosa después del ~ 4, en algún momento el quinto punto es irrelevante. No sé dónde Foursquare redujo los números, pero tenga en cuenta que probablemente sí. (Por cierto, cualquier cosa después del 6to o 7mo punto también es irrelevante para los gps civiles, sin importar cuál sea la fuente) –

Respuesta

1

Aunque hay mejoras de clasificación que podemos hacer para encontrar esta coincidencia exacta distante, generalmente también ayuda a especificar intent = browse (aunque parece que en este caso, por ahora, puede proporcionarle peores resultados) . De forma predeterminada,/venues/search usa intent = checkin, que trata realmente de encontrar coincidencias cercanas para registrarse, a expensas de otras formas en que un lugar puede coincidir con su búsqueda. Obtenga más información en https://developer.foursquare.com/docs/venues/search

+0

Intenté 'intent = browse' desde el principio, pero no pareció producir una mejora radical. La función de búsqueda propia del sitio web de Foursquare parece producir resultados razonablemente intuitivos, por lo que me sorprende la cantidad de su estructura interna que comparte con la API de Venues. De todos modos, la táctica que estoy usando ahora es comenzar con la consulta underscore-sustituido. Si el número de resultados es inferior a un límite determinado, volveré a consultar utilizando el término de búsqueda original (es decir, sin sustituciones). A través de algunas pruebas limitadas, parece proporcionar una buena combinación de resultados. –

+1

Sí, definitivamente sería bueno saber cómo busca el sitio web de foursquare. Intenté una variedad de métodos para obtener resultados precisos y nunca pude acercarme a los resultados en el sitio web.No importa qué intención use, si uso un radio + un punto, si uso recuadros para la ubicación, etc. ¿Hay alguna posibilidad de que nos brinde información sobre cómo el sitio web está buscando lugares? – ctide

Cuestiones relacionadas