2017-01-04 4 views
0

私はSolrリクエストを作成しており、ドキュメントのIDをfqパラメータに渡しています。 Solrは、ドキュメントのスコアでソートされたドキュメントを返します。私はSolrにIDを送ったのと同じ順序でドキュメントを返すようにします。クエリに渡すことができるソート順はありますか?

ソートパラメータには、希望の結果を得るために与えることができる値があります。

答えて

0

fqに渡す代わりに。エレベーターコンポーネントを使用します。かかわらず、Solrのスコア値の

編集elevate.xmlのごSolrのconfフォルダ内のファイルと

<query text="ipod"> 
    <doc id="S03" /> 
    <doc id="S01" /> 
    <doc id="S02" /> 
</query> 

、それはあなたがelevate.xmlファイルで与えられた方法を順にドキュメントを返します。

または

edismaxでbq(Boosting)パラメータを使用します。 例:

defType=edismax&q="ipod"&bq=id:S03^4+id:S02^3+id:S01^ 
+0

サンプルクエリ: 'localhost:8983/solr/collectionname/elevate?q = ipod' – vinod

+0

elevate.xmlファイルを編集できません。オプションではありません。コードを介して行う必要がある –

+0

私は私の答えを編集しました。そのようにしてください。ブースト値をあなたに合わせて変更してください。 – vinod

0

デフォルトのソート順 - 何のソートが設けられていないと、すべてのスコアが類似する(あるいは単にfq年代を使用しているされている場合 - 内部のLucene IDでなければなりません - あなたが戻って順番に文書を取得する必要があります意味。。彼らはあなたがsort=_docid_ ascを使用して明示的にこれを求めることができます

を追加しました。しかし、これは本当に重要である場合いる - 更新された場合に文書が並べ替えを取得し、あなたは、元のソート順を維持することができますように、追加します文書が追加された時刻を記録するためのフィールドそのフィールドによって

関連する問題