3

SearchKickデータの検索に使用しています。そして、私はページネーションを実行しています。この場合、合計結果数を取得するにはどうすればよいですか:

私のサーチキックの結果:

       #<Searchkick::Results:0x007faeeef8ed88
   @facets=nil,
   @max_score=0.0,
   @options=
    {:load=>true,
     :payload=>
      {:query=>{:match_all=>{}},
       :size=>20,
       :from=>0,
       :sort=>{"created_at"=>:desc},
       :filter=>{:and=>[{:term=>{"sub_category_id"=>2}}]},
       :fields=>[]},
     :size=>20,
     :from=>0,
     :term=>"*"},
   @response=
    {"took"=>4,
     "timed_out"=>false,
     "_shards"=>{"total"=>5, "successful"=>5, "failed"=>0},
     "hits"=>
      {"total"=>1925,
       "max_score"=>nil,
       "hits"=>
        [{"_index"=>"products_..", "_type"=>"product", "_id"=>"..", "_score"=>nil, "sort"=>[..]},....]}},
   @results=
    [#<Product>,...]....

私ができないもう1つのこと:

SearchKickResult.response

次のようなエラーが返されます。

undefined method応答」

4

3 に答える 3

6

Searchkick は#total_count、応答の合計ヒット数をカウントするメソッドを提供します。

https://github.com/ankane/searchkick/blob/7a24684bb470abd5ceca7a40b21d28584b910a4c/lib/searchkick/results.rb#L89

def total_count
  response["hits"]["total"]
end
alias_method :total_entries, :total_count
于 2015-04-28T13:30:21.027 に答える
2

searchkick (0.9.0) では次のようになります。 response.total_count

于 2015-06-17T11:53:32.223 に答える
0

これを試してください:-

データ=モデル名. 「*」を検索

データ.結果.カウント

于 2021-10-29T12:58:36.643 に答える