私が最初に検索しているときに、すべてのドキュメントを並べ替えて、最初の5レコードを私に渡します。ただし、ソート方向(ASC→DESC)を変更して同じ検索クエリを実行した場合は、すべてのドキュメントを再度ソートせずに、前回の検索クエリから取得した5つのドキュメントを取得し、降順でソートし、それは私に戻ってくる。私はDESCの順番で利用可能なすべての文書を並べ替え、最初の5つの結果を取り出すことを期待していました。Elasticsearch ::並べ替えで奇妙な結果が出る
私は間違ったことをしていますか、何か考えていませんか?
マイ検索クエリは:
{
"sort": {
"taskid": {
"order": "ASC"
}
},
"from": 0,
"size": 5,
"query": {
"filtered": {
"query": {
"match_all": []
}
}
}
}
私は、クエリの上に今100までのtaskId 1のデータを持っているが、最初の試みでのtaskId 1から5まで私にレコードをフェッチ。今度はソート方向をdescに変更したとき、taskid 96-100(100,99,98,97,96シーケンス)のドキュメントが返されるはずですが、私はtaskid 5,4,3,2でドキュメントを返しました。 1をその順序で含む。つまり、以前に返された結果だけで並べ替えが行われました。
私の文書では、taskidと_idは同じであることに注意してください。私は_idと同じになります私のマッピングで冗長フィールドを追加しました
'order'は小文字にする必要があります。それはむしろ "asc"または "desc"でなければなりません:) – Richa
私は問題が値の場合にあるとは思わない。 –