Sunspot gem を初めて使用します。私はそれをインストールし、正しくインデックスとクエリを実行しています。ただし、現在、地理検索を含めることで検索パラメーターを制限しようとしています。SOLR によってインデックスが作成されたデータベース テーブルには緯度と経度のフィールドがありますが、地理検索が機能しません。
これが私のモデルにあるものです:
searchable do
.
.
.
double :latitude, :as => "lat"
double :longitude, :as => "lon"
location (:location) { Sunspot::Util::Coordinates.new(lat, lon) }
end
ただし、 rake タスクを実行してインデックスを再作成すると、次のように失敗します。
undefined method `lat' for #<Product:0x1076e6650>
私も試しました:
latlon(:location){ Sunspot::Util::Coordinates.new(lat, lon) }
と
location(:location){ Sunspot::Util::Coordinates.new(:latitude, :longitude) }
緯度、経度ではなく緯度と経度を渡すなど、さまざまなオプションを試しましたが、毎回異なるエラーが発生しているようです。
次の gem をインストールしました: sunspot (2.0.0, 1.3.3, 1.2.1) sunspot_rails (1.3.3, 1.2.1) sunspot_solr (2.0.0)
どんな提案でも大歓迎です!前もって感謝します。