3

私は以下のモデルを持っています。

class Author
    include Tire::Model::Search
    include Tire::Model::Callbacks

    has_many :books
    has_many :tags #(eg: 'german', 'philosopher')
end

class Book
    belongs_to :author
    belongs_to :book_type #(eg: 'paperback', 'hardcover')
    has_many :tags #(eg: 'crime', 'drama')
end

次の検索クエリを理解して書くのに助けが必要です。

「ドイツ人」および「哲学者」のタグが付けられたすべての著者を検索
                     book_type 'paperback' および 'hardcover' の本を少なくとも 1 冊ずつ執筆している
                     そのような本はそれぞれ「犯罪」および「ドラマ」としてタグ付けされています

「ドイツ人」および「哲学者」のタグが付けられたすべての著者を検索
                     任意の book_type の本を少なくとも 1 冊書いたことがある
                     その本が「犯罪」および「ドラマ」としてタグ付けされている場所

サンプル シード データ @ https://github.com/rahul/nested_tire_query_problemを含むミニ レール プロジェクトを追加しました。

アップデート

タイプ「ネスト」としてインクルードブックに著者のマッピングを書き込もうとしました。しかし、to_indexed_json メソッドはマッピングの定義をオーバーライドし、author 内にネストされていない本を作成します。

バックエンド: MySQL (to_indexed_json を使用してドキュメントを Elasticsearch にフィードします)

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

4

1 に答える 1

3

解決しました。答えへのリンクは次のとおりです: https://github.com/karmi/tire/issues/794

于 2013-07-16T09:18:00.550 に答える