gemの出番ですが、kaminariと組み合わせる時に気をつけた方が良いことをまとめてみました。2016の17日目です。RailsでElasticsearchといえばelasticsearch-railsですね。今回はelasticsearch-railsとkaminariを合わせて使う時に押さえておいた方が良いことをまとめてみました。基本的にはドキュメントにも書いてあることなのでちゃんとドキュメントを読んでおいた方が良いです。3]と、Arelオブジェクトとして評価してしまうと順番が維持されません。ドキュメントにはto_aを使うようにと書いてあるのでそうしましょう。1]elasticsearch-railsとkaminariと合わせて使うこちらもドキュメントに書いてあるのですが、elasticsearch-railsはkaminariやwill_paginateと合わせて使うことができます。3ここまでは特に問題ありません。検索結果をArelオブジェクトとして扱う&kaminariと合わせて使う検索結果をArelオブジェクトとして扱いたくて、さらにページングもやりたいという時は問題が起きます。:desc}).page(1).per(10).records.includes(:user_category).to_aとなりますが、to_aで返ってくるのはArrayオブジェクトなので、ページング情報が失われてしまいます。この場合は少し面倒ですが、こんな感じにする必要があります。1]ただ、これをそのままメソッド化してしまうとArelオブジェクトのメソッドチェーンを自由にできないので、こんな感じにしておくと良いと思います。3まとめドキュメントはちゃんと読みましょう。(2015/12/13)おすすめブログ湘南・藤沢おすすめ情報ブログ@湘南T-SITE湘南近辺のおすすめローカル情報です業務スーパーかんたんレシピ業務スーパーを使ったおすすめ料理レシピですポケットサックス演奏動画とかブログポケットサックスに合う曲の演奏動画とかプロフィールharacane湘南から渋谷のスポーツTechベンチャーに通うエンジニアです。現在はFanForwardでチーフエンジニアしてます。設計・開発をしていました。技術分野はRuby/Railsベースのアジャイル開発、Hadoopでの大規模分散処理など。とどろきアリーナにも家族連れでよく通っています。@haracaneトップ連載記事ジャンルデータ処理RubyJekyllその他バックナンバ。