0

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)

どんな提案でも大歓迎です!前もって感謝します。

4

1 に答える 1