3

次のクエリで検索しています: /select?q= : &fq=fld:dddd OR fld:aaaa OR fld:bbbb ここで、フィールド fld は文字列型で、uniqueKey です。

次のような結果が得られます。

<doc>
   <str name="fld">aaaa</str>
</doc>
<doc>
   <str name="fld">bbbb</str>
</doc>
<doc>
   <str name="fld">dddd</str>
</doc>

結果のように見えますが、結果を「並べ替えていない」状態にしたい...つまり、結果を fq 条件で指定した順序にしたいのです。つまり、次のような結果が必要です。

<doc>
   <str name="fld">dddd</str>
</doc>
<doc>
   <str name="fld">aaaa</str>
</doc>
<doc>
   <str name="fld">bbbb</str>
</doc>

どうやってそれを行うのですか?前もって感謝します!

4

2 に答える 2

1

に追加scoreするとfl、それらすべてが同じスコア値を持っていることがわかります。そのため、fld aaaa bbbb dddd と表示される理由でソートされます。

同様のものを取得するための注文にboost応じて、スコアリングを変更したり、クエリ時間に与えることができますが、プラグインを作成したり、solr ソースをハッキングしたりせずにそれを使用することはできないと思います。fl

于 2012-10-17T04:38:56.987 に答える
0

スキーマに RandomSortField を追加することもできます。次に、結果をランダムに並べ替えます。見る:

http://lucene.apache.org/solr/4_0_0/solr-core/org/apache/solr/schema/RandomSortField.html

編集:投稿を読み直した後、それはあなたが探しているものではないことに気付きました. 関数を使用して並べ替えを試すことができます。

http://wiki.apache.org/solr/FunctionQuery

于 2013-01-09T15:33:34.540 に答える