タイトルが明確ではないので説明してください:Sunspot:国または州のすべてのイベントを見つける
私のアプリでは、イベントがあります。彼らは地理的に配置されています:私は緯度と経度を保存します。 私の問題は、ユーザーがイベントを検索するときに、kansas
、montreal
など と入力すると、(ジオコーダーを使用して)kansas
を見つけると、私はその「センター」を取得するので、この場所の近くに "、私は場所の中心に近いものを取得します。 france
またはaustralia
と入力するとさらに悪化します。
あなたはそれを処理する良い方法について知っていたのかしらと思っていました。
私の唯一のアイデアは、保存時にイベントの場所のcountry
、state
などを保存して(私はGoogleから正規化されたアドレスを取得できます)、次に入力した内容のテキスト検索を行います場所フィールド...
しかし、そのアプローチについての問題がある:(Solrので
、次の操作を実行することは不可能です:。
any_of do
with(:coordinates).near(coord[0], coord[1], :precision => 3)
keywords where
end
near
は入れ子にすることはできませんのでSee here.
太陽黒点1.3で変更できましたか?
他に解決策がありますか?私はsolrから弾性検索のような別の検索プラットフォームに変わることを受け入れるかもしれないが、私はそうしたくないだろう。