日付フィールドをSOLRに保存するときに、 Date() を toISOString() に変換すると、受け入れられます。toUTCStringで保存しようとしたのですが、うまくいきません。
検索中に、日付に基づいて並べ替えていますが、結果は得られますが、これらは降順ではなく、混合した順序で並べ替えられています。
[NOW-1YEAR/DAY TO NOW/DAY+1DAY]で範囲を指定してみましたが、結果は同じです。最初に 6 日前のドキュメント、次に 30 分前のドキュメント、次に 2 か月前のドキュメントを取得します。
正しいアプローチは何ですか?
編集: schema.xml に追加した日付フィールドは次のとおりです。
<field name="message_date" type="date" indexed="true" stored="false" />
これがパラメータです。各検索中に送信しています。
query = "*:*";
var options = {
fq: '{!geofilt}',
sfield: 'location',
pt: latitude+','+longitude,
d: 10,
sort: ["message_date desc", "geodist() asc"],
start: 0,
rows: 10
}
solrclient.query(query, options, function(err, solrRes){
....
});
これは、サーバー側の javascript、node.js コードです。