0
私はrubyアプリケーションでelasticsearchをTire gem経由で使用しています。 は、ここに私のインデックスelasticsearchで並べ替える適切な方法は何ですか?
mapping do
indexes :title
indexes :views_count, type: 'integer'
indexes :created_time, type: 'date'
end
そして、私のクエリです: -
News.tire.search load: true do
query {all}
sort { by :views_count, 'desc'}
end
これはかなり良いですし、それがうまく機能になります見えます。しかし、予期せぬ結果があります。数値を文字列として扱います。つまり、「33」は「4」よりも少なくなると考えられます。私はelasticsearchに文字列ではなく整数として扱うよう伝えたい。
created_time
でも同じことが起こっていますが、私はそのパターンに気づいていませんでした。私はタイプや何かを渡すべきだと思う。だから、どんな体が私を助けることができますか?
ありがとうございます。
あなたのRubyスクリプトによって作成されているインデックスのマッピングを投稿してください。これは 'curl -XGET localhost:9200/index_name'によって実現できます。 –
ありがとう、あなた。あなたはそれを解決しました! –