2012-01-16 1 views
0

タイトルが明確ではないので説明してください:Sunspot:国または州のすべてのイベントを見つける

私のアプリでは、イベントがあります。彼らは地理的に配置されています:私は緯度と経度を保存します。 私の問題は、ユーザーがイベントを検索するときに、kansasmontrealなど と入力すると、(ジオコーダーを使用して)kansasを見つけると、私はその「センター」を取得するので、この場所の近くに "、私は場所の中心に近いものを取得します。 franceまたはaustraliaと入力するとさらに悪化します。

あなたはそれを処理する良い方法について知っていたのかしらと思っていました。

私の唯一のアイデアは、保存時にイベントの場所のcountrystateなどを保存して(私はGoogleから正規化されたアドレスを取得できます)、次に入力した内容のテキスト検索を行います場所フィールド...

しかし、そのアプローチについての問題がある:(Solrので
、次の操作を実行することは不可能です:。

any_of do 
    with(:coordinates).near(coord[0], coord[1], :precision => 3) 
    keywords where 
end 

nearは入れ子にすることはできませんのでSee here.

太陽黒点1.3で変更できましたか?

他に解決策がありますか?私はsolrから弾性検索のような別の検索プラットフォームに変わることを受け入れるかもしれないが、私はそうしたくないだろう。

答えて

1

私はElasticSearchに切り替えました。私はそれを絶対に愛しています。私はまだファセットにいくつかの問題がありますが、全体的に私はESを新しいスポットを始める人に勧めています。

関連する問題