2016-11-11 22 views
0

私は非常に単純なelasticsearchクエリを持っています。これは、一定のスコアクエリだ、このような何か:弾性検索定数スコアソート

"query": { 
    "constant_score": { 
     "filter": { 
      "term": { 
       "category": "[category-id]" 
      } 
     } 
    } 
} 

問題は、彼らが常に同じ順序で戻ってこないことで何のスコアを有していないことは、これらの結果をソートすることです。これは問題です。なぜなら、それは私のページネーションを混乱させるからです。

例。私は最初の5つの項目を要求し、私は戻って次のids:[4, 7, 8, 10, 3]と言うことを受け取ります。次の5つのアイテムに次のページを表示してもらいたいのですが、このようにいくつかのアイテムが繰り返されることがあります:[12, 15, 7, 13, 9]

問題は、すべてのフィールドが文字列フィールドであり、いずれのフィールドでも並べ替えたくないということです。並べ替え順序は重要ではありませんが、毎回同じ順序を維持することが重要です。

アイデア?ありがとう!

答えて

0

この試し:これは全くスコアが算出されていないとスコアフィールドは0

の値を有するであろう濾過クエリとして知られるように使用されるものであるので

GET _search 
{ 
    "query": { 
    "bool": { 
     "filter": { 
     "term": { 
      "category": "[category-id]" 
     } 
     } 
    } 
    } 
}