1

カスタマイズされた spree webshop プロジェクトで、sunspot を使用して全文検索を行っています。

すでに広範囲に索引付けされている製品があります。

class Product
  searchable do
    text :description
    ... lots of other declarations
  end
end

ここで、Orders のインデックスを作成する必要があります (他のモデルを使用しますが、これは重要ではないと思います)、have_many Products:

class Order
  has_many :products
end

問題は、同じ索引付けされた属性を使用して、製品を介して注文を検索できるようにしたいということです。私は DRY を維持し、製品の宣言のバリエーションを注文の新しい検索可能なブロックに追加するのではなく、「注文は製品を介して検索可能です」のようなことを言いたいです。これはどういうわけか可能ですか?太陽黒点のドキュメントには、このようなことは何も言及されていません。

編集:

「apneadiving」は、宣言をある種の共有モジュールに入れ、そのように再利用することを提案しました。私は間違っているかもしれませんが、sunspot DSL は現在のモデルを参照しているため、これは機能しないと思います。そのため、Product からの宣言は Order では機能しません。

たとえば、上記の例の検索可能なブロックを Order に適用できた場合、sunspot に説明で Order をインデックス化するように指示しますが、これはありません。とにかく、製品によるインデックス化には役立ちません。

4

0 に答える 0