0

多くのトピックを持つカテゴリ モデルがあります。各トピックには多くの投稿があります。投稿には、フィールド「rating」(float) と「created_at」(DateTime) があります。

カテゴリのさまざまなフィールドを検索するために Thinking Sphinx を使用していますが、もう少し複雑な検索オプションを追加しようとしています。

今年の投稿のみ、たとえば評価が 4.5 未満のカテゴリを検索したいと思います。他の例としては、2009 年の投稿などの評価が 6.7 を超えるカテゴリを見つけることです。

これまでのところ、次のようなインデックス作成を作成しました。

indexes posts(:rating), as: :rating, type: :decimal
has 'SUM(rating)', as: :total_rating, type: :float

また、以下を使用して、投稿の評価を含むカテゴリを取得できます。

Category.search(with: { total_rating: 0..4.5 })

しかし、「total_rating」に使用される投稿を特定の年で制限できるかどうかはわかりません。

どんな助けでも大歓迎です。

4

1 に答える 1