1

モデルの太陽黒点の「検索可能」メソッド内に条件付きインデックスを追加したいと思います。理想的には、次のようになります。

searchable do
    string :important_text
    if address_visible?
      string :address
    end
end

上記の例では、address_visible? メソッド (モデル上) は true を返します。残念ながら、address_visible? コンテキストがモデルではなく Sunspot::DSL::Fields になったため、メソッドは 'NoMethodError' をスローします。

4

1 に答える 1

2

実際にやりたいことができるとは思えません。それでも、住所が表示されていない場合は、住所に別の値をインデックス化できます。例えば:

searchable do
    string :important_text
    string :address { |model| model.address_visible? ? model.address : '' }
end
于 2013-06-06T23:14:28.780 に答える