Я получаю некорректные результаты от API поиска места проведения Foursquare, и мне интересно, есть ли у кого-нибудь советы о том, как обрабатывать мои входные параметры для получения наиболее "интуитивно понятных" результатов.
Например, предположим, что я ищу заведение под названием «Исэ Суши» в районе «Нью-Йорк, штат Нью-Йорк», что эквивалентно (широта: 40.7143528, долгота: -74.00597309999999) с помощью API Карт Google. Подключив Foursquare Venue API, мы получаем:
https://api.foursquare.com/v2/venues/search?query=ise%20sushi&ll=40.7143528%2C-74.00597309999999
Это дает довольно неутешительные результаты: место, которое я ищу, оказывается довольно далеко вниз по списку, на 11-м месте. Интересно то, что уменьшение точности координат дает гораздо лучшие результаты. Например, предположим, что мы должны округлить координаты до трех значащих цифр:
https://api.foursquare.com/v2/venues/search?query=ise%20sushi&ll=40.7%2C-74.0
На этот раз место, которое я ищу, оказывается на 2-м месте, хотя на самом деле оно находится на дальше от центра поиск (1072 метра против 833 метра по первому запросу).
Еще одна модификация, которая, по-видимому, помогает улучшить качество поиска, - это замена пробелов символами подчеркивания для разделения условий поиска.Например, вот исходный запрос с подчеркиванием:
https://api.foursquare.com/v2/venues/search?query=ise_sushi&ll=40.7143528%2C-74.00597309999999
Это дает наиболее интуитивно кажущиеся результаты: место, которое я ищу, появляется первым и сопровождается еще одним результатом, «Ресторан Исэ» (который помечен как "суши-ресторан"). Как бы то ни было, на самом деле это результат того же поиска , проведенного на собственном веб-сайте Foursquare.
Мне любопытно, какие уроки я должен извлечь из этого. Следует ли снижать точность координат? Следует ли связывать свои условия поиска с подчеркиванием, и если да, ограничивает ли это то, как пользователь может упорядочить свои условия поиска?