2016-10-12 14 views
1

私は電子商取引サイトでAzure Searchを使用していますが、今はフィルタリングを実装したいので、正しい方法を選択できません。問題は、私は本当に異なる製品タイプを持っているので、さまざまな属性(プロパティ)があり、50個の属性フィールドを持つインデックスを作成したくないということです。別の方法 - 私はいくつかのプロパティ(Attribute1、Attribute2 ...のような)を定義して、面倒な値に応じて 'Key'の名前を決めることができます。電子商取引サイトにフィルタを構築するための共通の方法や確認された方法がありますか?Azure検索ファセットとフィルタ

答えて

1

50個のフィールドにスパース値がある場合、Azure Searchはうまく機能します。スパース性が比較的低いファセットごとの基数であると仮定すると、それはパフォーマンスに悪影響を与えるべきではありません。フィールドを明示的にモデル化することによって、明示的なフィールドを持つことからくる素敵でクリーンなプログラミングモデルを保ちます。

属性マッピングは、すべてのファセットが同じデータ型であるか、簡単にグループ化できると仮定して動作します。

文字列ファセ​​ットのもう1つのことは、ファセット値にプレフィックスを付けることです(カメラ/キヤノン、メモリ/ MiniSDなど)。これにより、親スコープ内の値ごとのカウントが得られます。別のフィールドに親スコープ(カメラ、メモリなど)もある場合は、必要に応じてスコープ全体でフィルタリングすることができます。これは、(すべての文字列である限り)階層ファセットに一般化します。 Here is a blog postは、この手法を探究しています。

関連する問題