5

より高いレベルのアルバム オブジェクトに属する SOLR インデックスの曲オブジェクト内にあります。以下に例を示します。

<song>
<album title>Blood Sugar Sex Magic</album title>
<song title>Under the Bridge</song title>
<description>A sad song about junkies</description>
</song>

現時点でできることは、アルバム タイトルにファセットを作成して、曲を検索すると、そのキーワードのヒットを含むアルバムも表示されるようにすることです。

SOLR のデフォルトの動作では、ファセットはヒット数の多い順に表示されます。しかし、私が達成したいのは、そのアルバムのトップ ヒットの関連性に従って並べ替えられるファセット リストです。

たとえば、「悲しい」という単語を検索すると、「ブラッド シュガー セックス マジック」が 1 件ヒットするファセットが表示される場合があります。また、「サッド クラウン ソング」というアルバムが 10 件ヒットする場合もあります。「橋の下」が最も関連性の高い曲として出てくるかもしれませんが、「悲しいピエロの歌」が最初の側面として表示されます。

私の質問は、どのようにしてすべてのファセットを元に戻すことができますか?その後、それらのファセット内の曲の関連性によって並べ替えることができますか? 基礎となる SOLR コードを変更または拡張する必要がある場合、それは何でしょうか?

前もって感謝します。

4

3 に答える 3

3

Solr は、ファセットを辞書順またはカウント順でのみ並べ替えることができます ( facet.sort パラメータを参照してください)。

別の並べ替え順序を実装する場合は、SimpleFacets クラスから始めます。

于 2010-05-17T22:13:30.677 に答える
1

最終的に、SOLRソースコードを変更せずにこれを行う最も簡単な方法を決定しました。それは、solrにクエリを実行し、ファセットを要求してから、結果を反復処理することです。

理想的ではありませんが、今のところは機能します。

于 2010-06-18T15:45:22.700 に答える