2012-01-23 8 views
2

SOLRからの書類を要求する順序でソートすることが可能かどうかは疑問でした。私はベースのクエリで実行していると私は尋ねる順序に基づいてそれらを返すようにSOLRが好きです。SOLR INでの照会

(4,2,3,1)は私に4,2,3,1の注文書を返す必要があります。

ありがとうございました。

答えて

3

フィールド単位で注文するには、Sortingが必要です。

"In based query"とは、fieldxの値が(val1,val2)のドキュメントを取得すると仮定します。このフィールドには、複数値のフィールドとしてフィールドを指定し、そのフィールドにはfacetを指定することができます。ファセットクエリーは、(すぐに)「すぐに」検索され、より洗練された検索を行うことができます。


OPのクエリに編集:

はJSON hereで複数値フィールドで文書を更新します。ラインファセットクエリを行うためとして

"my_multivalued_field": [ "aaa", "bbb" ] /* use an array for a multi-valued field */ 

を参照してください、thisを確認してください。

は、1つ以上のFQのステートメントを実行する必要があります。

&fq=field1:[400 to 500] 
&fq=field2:johnson,thompson 

また、あなたではなくインデックスフィールドよりも保存上のファセットする必要があります(上記のリンクで)事実をよく読んでください。

+0

はい、私はそれを意味します。しかし、私はそれを利用して私が必要とするものを達成するのですか? –

0

あなたはQueryOptionsとフィールドのソートでソート簡単に適用することができます(ExtraParamsプロパティ - 私は降順、savedateフィールドでソートしています):

var results = _solr.Query(textQuery, 
       new QueryOptions 
       { 
        Highlight = new HighlightingParameters 
        { 
         Fields = new[] { "*" }, 
        }, 
        ExtraParams = new Dictionary<string, string> 
        { 
         {"fq", dateQuery}, 
         {"sort", "savedate desc"} 
        } 
       }); 
関連する問題