0

solr の結果を整数フィールド (優先度など) の降順で表示する必要があるシナリオを想定すると、「優先度による並べ替え」を簡単に適用できます。ただし、この優先度フィールドが、search_priority、tag_priority、xyz_priority などのさまざまなコンマ区切りの int 優先度のコレクションである場合は、solr の各 ID の優先度フィールドに含まれているとしましょう。「search_priority:100,tag_priority:200,xyz_priority:50」では、tag_priority の降順ですべての ID を取得するにはどうすればよいでしょうか。

自明な解決策の 1 つは、search_priority、tag_priority、および xyz 優先度のそれぞれを個別の solr int フィールドとして作成し、tag_priority desc を取得することです。しかし、優先度の数が増える可能性があり、非常に多くの solr フィールドを手動で追加することになるため、それは望ましくありません。

コンマ区切りのテキスト フィールドでの順序付けに役立つ solr コマンド (マルチソートなど) はありますか? またはこれを行うsolrの他の形式の概念は非常に高く評価されます

ありがとう

4

1 に答える 1

0

動的フィールドを使用することをお勧めします。

例えば<dynamicField name="*_priority" type="integer" indexed="true" stored="true"/>

  • これにより、任意の数の優先フィールドを処理できます。
  • フィールドは動的に作成されるため、定義する必要はありません。
  • 並べ替えにはいつでも動的フィールドを使用できます。
于 2013-01-10T03:43:24.957 に答える