ES(またはそのことについてはSolr)を使用した製品バリアントのモデリングに頭を悩ませています
考えてみてください(考案された例):
- さまざまな製品(Tシャツなど)
- 各製品には一連のプロパティ(productid、name、desc、brand、color、popularity)があります。
- 各製品には、プロパティ(productvariantid(productid ++ sizeの組み合わせ)、productid、size、availability、price)を持つ一連のproductvariantがあります。
これは、製品と製品バリアントの間の標準的な親子関係のようです。そこで、ESでそのようにモデル化したいと思います。
次のことができるようになりたいです。
A. productvariantsをクエリします(そしてすべてのプロパティを返します)。product-propertiesを返す必要はありません。productvariantプロパティで十分です。
B.各ユーザークエリは、製品ごとに最大1つのproductvariantが一致するように制約されます(上記の例では、productvariant.sizeに制約することを意味します)
C.価格でフィルタリングします。
D.製品のいくつかのプロパティをフィルタリングする
E.価格で注文する
F.人気などの製品の特性に関する注文、または2の組み合わせ。
G.productvariant.priceのファセット
H.製品の複数のプロパティに関するファセット(親)
親/子ドキュメントおよびhas_parent
ESでこれを行う:AE+Gが可能です。
しかし、FとHはどうですか?私は_scope
ファセット(確かに可能性を100%理解していませんが)や頭に浮かぶ他のすべてのものについて調べましたが、製品のプロパティのファセットを表示して可能にするための明白な解決策は見当たりませんと組み合わせてそれらでソートしますhas_parent
。
私は他のことを(紙の上で)試しました-has_child->運がなくてもバリアント情報が返されます-埋め込まれたドキュメント(製品内のバリアント)とすべてのバリアントを含む製品全体が返されます。不格好な感じがします。さらに、私はそのように価格でファセット/注文することはできないと確信しています。
感謝します