SOLR を使用して、複数の値から構成されるメタデータを含むドキュメントを保存します。通常、ラベル付きの ID。簡単な例は、都市の名前とその都市の一意の ID です。ドイツのベルリンと米国のベルリンのように、異なる都市が同じ名前を持つ可能性があるため、id が必要です。その文字列を検索したいので、名前は明らかに必要です。
ファセットを使用する場合、「ベルリン」というラベルを持つ 2 つのファセットを取得したいと考えています。検索を (他のメタ データ フィールドを使用して) ドイツのドキュメントに限定すると、ドイツのベルリンのファセットは 1 つしか得られないと予想されます。IDとラベルを2つの別々のSOLRフィールドに保存すると、明らかにこれは機能しません。
これは珍しい要件ではないと思いますが、有用な情報を見つけることができませんでした。私の現在のアプローチは次のとおりです。
完全なカスタム フィールド タイプを Java で実装します。現在、私は SOLR 開発者ではなく、単なる SOLR ユーザーであるため、見積もりが難しいです。
ID とラベルを 1 つの文字列 ("123:Berlin" や "456:Berlin" など) に入れ、値を分割するカスタム アナライザーを使用して schema.xml でカスタム フィールド タイプを定義します。私には合理的に聞こえますが、ファセットで機能するかどうかは 100% 確信が持てません。
サブフィールドへの参照をいくつか見つけましたが、古いページだけで、有用なドキュメントを見つけることができませんでした。
SOLRでこれを解決するよく知られた方法はありますか?