私は以下のモデルを持っています。
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 にフィードします)
どんな助けでも大歓迎です!