Sunspot gem を自分のアプリケーションに実装したところですが、位置検索を行うと一部の結果が除外されているように見えることを除けば、とても気に入っています。例: 私はオハイオ州コロンバスに住んでいるので、「オハイオ州コロンバス」を検索すると、アプリケーションはそれを緯度/経度に変換し、次のようにします:
@search = (Skatepark.search {
with(:coordinates).near lat, lng, :precision => 3
fulltext text
paginate :page => params[:page], :per_page => 15
})
これにより、コロンバスの西側でジオコーディングされたいくつかのレコードが返されますが、DB にある東側のレコードは返されません。検索で何か間違ったことをしていますか?
http://skateparks.co/searchで自分で試すことができます。
"Columbus Ohio" で検索すると、南東に数マイルしか離れていない "Lancaster Ohio" で検索した場合とはまったく異なる結果が得られます。