2012-01-20 37 views
13

Tôi nhận được một số kết quả thất thường từ API tìm kiếm địa điểm của Foursquare và tôi tự hỏi liệu có ai có mẹo về cách xử lý thông số đầu vào của mình cho các kết quả "trực quan" nhất hay không. Ví dụ: giả sử tôi đang tìm kiếm địa điểm có tên "Ise Sushi", quanh "New York, NY", tương đương với (lat: 40.7143528, lon: -74.00597309999999) bằng API Google Maps. Cắm vào API Địa điểm Foursquare, chúng tôi nhận được:Cách tốt nhất để điều chỉnh truy vấn tìm kiếm trong Foursquare API của tôi là gì?

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

Điều này mang lại kết quả khá ấn tượng: địa điểm tôi tìm kiếm kết thúc khá xa danh sách, ở vị trí thứ 11. Điều thú vị là giảm độ chính xác của tọa độ dường như tạo ra kết quả tốt hơn nhiều. Ví dụ, giả sử chúng ta đã làm tròn tọa độ đến 3 chữ số có nghĩa:

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

Lần này, địa điểm tôi đang tìm kiếm kết thúc ở vị trí thứ 2, mặc dù nó thực sự là xa từ trung tâm của tìm kiếm (1072 mét, so với 833 mét sử dụng truy vấn đầu tiên).

Sửa đổi khác xuất hiện để giúp cải thiện chất lượng tìm kiếm là thay thế dấu gạch dưới cho dấu cách để tách các cụm từ tìm kiếm của chúng tôi. Ví dụ, đây là truy vấn ban đầu với dấu gạch dưới:

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

này tạo ra kết quả trực quan-dường như nhất: địa điểm tôi đang tìm kiếm xuất hiện đầu tiên, và được đi kèm bởi chỉ cần một kết quả khác, "Ise Restaurant" (được gắn thẻ là "nhà hàng sushi"). Đối với những gì nó có giá trị, điều này thực sự có vẻ là the result set of the same search tiến hành trên trang web riêng của Foursquare.

Tôi tò mò tôi nên học những bài học gì từ điều này. Tôi có nên giảm độ chính xác của tọa độ của mình không? Tôi có nên kết nối các cụm từ tìm kiếm của mình với dấu gạch dưới không và nếu có, điều đó có giới hạn cách người dùng có thể đặt hàng các cụm từ tìm kiếm của họ không?

+2

Câu hỏi hay, điều này thực sự cần được trả lời bởi ai đó từ Foursquare. Một điều cần lưu ý, độ chính xác lat/lng: tôi nghĩ * rằng Foursquare cắt ngắn lat/lng của bạn, bởi vì các cảm biến của smarphones không chính xác, bất cứ điều gì sau ~ 4th, đôi khi 5 điểm là không liên quan. Không biết nơi Foursquare cắt các con số, nhưng hãy nhớ rằng họ có thể làm. (btw, bất cứ điều gì sau khi điểm thứ 6 hoặc thứ 7 cũng không liên quan đến gps dân sự, bất kể nguồn là gì) –

Trả lời

1

Mặc dù có những cải tiến xếp hạng mà chúng tôi có thể thực hiện để tìm kết quả chính xác ở xa này, nó cũng giúp chỉ định intent = browse (mặc dù trong trường hợp này, hiện tại nó có thể mang lại kết quả tồi tệ hơn) . Theo mặc định,/địa điểm/tìm kiếm sử dụng intent = checkin, cố gắng thực sự khó để tìm các kết quả phù hợp để kiểm tra, bằng cách chi phí cho các địa điểm khác có thể phù hợp với tìm kiếm của bạn. Tìm hiểu thêm tại https://developer.foursquare.com/docs/venues/search

+0

Tôi đã cố gắng 'intent = browse' sớm, nhưng dường như nó không tạo ra sự cải thiện triệt để. Tính năng tìm kiếm riêng của trang web Foursquare dường như tạo ra các kết quả trực quan hợp lý, vì vậy tôi tò mò về cấu trúc nội bộ của nó với API Venues. Dù sao, chiến thuật tôi đang sử dụng bây giờ là bắt đầu với truy vấn thay thế gạch dưới. Nếu số lượng kết quả nhỏ hơn giới hạn đã cho, tôi sẽ truy vấn lại bằng cụm từ tìm kiếm ban đầu (nghĩa là, không có thay thế). Thông qua một số thử nghiệm hạn chế được thừa nhận, có vẻ như cung cấp kết hợp tốt các kết quả. –

+1

Vâng, nó chắc chắn sẽ là tốt để biết làm thế nào các trang web tìm kiếm. Tôi đã thử một loạt các phương pháp để có được kết quả chính xác và tôi chưa bao giờ có thể đến gần với kết quả trên trang web.Không có vấn đề gì tôi sử dụng, cho dù tôi sử dụng bán kính + một điểm, cho dù tôi sử dụng hộp giới hạn cho vị trí, v.v. Bất kỳ cơ hội nào cho chúng tôi một số thông tin về cách trang web đang truy vấn địa điểm? – ctide

Các vấn đề liên quan