0

昨日からドキュメントやその他のサンプル投稿を読んで、フィールドによる並べ替え方向現在のクエリ配列に追加する方法を見つけましたが、今のところうまくいきません。のような例を見てきまし{"sort": {"_score": "desc"}, "query": { ....たが、ES を扱うのはこれが初めてなので、配列を変更するために頭を落ち着かせることはできませんでした。

私が必要とするのは、並べ替えまたは並べ替えができるようにしたいということpriceだけです。stockascdesc

並べ替えを実装するために配列を更新しようとするたびに、{"error":{"code":0,"message":"Invalid option sort"}}エラーが発生します。

注: 結果を取得するために、クエリ配列がPagerfantaに渡されています。

    $paginator = $this->productFinder->findPaginated($myArray)
        ->setMaxPerPage($limit)
        ->setCurrentPage($page);
4

2 に答える 2

0

次に例を示します。

{
  "_source":true,
  "query":{
    "simple_query_string":{
      "query":"1*"
    }
  },
  "sort":[
    {
      "price":{
        "order":"desc",
        "missing":"_last"
      }
    },
    {
      "_score":{
        "order":"desc",
        "missing":"_last"
      }
    }
  ]
}
于 2015-06-23T11:36:19.963 に答える
0

特定のフィールドと方向の場合:

{
   "sort": {
      "price": "asc"
   }
   ... rest of the code
}

特定の並べ替えがない場合 (これはデフォルトで設定されています):

{
   "sort": {
      "_score": "desc"
   }
   ... rest of the code
}
于 2015-07-11T08:53:57.713 に答える