簡體   English   中英

彈性搜索排序的正確方法是什么?

[英]What is the proper way to sort in 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也發生了同樣的事情,但是我沒有注意到排序的模式。 我想我應該通過類型或類似的東西。 那么,有什么機構可以幫助我嗎?

先感謝您。

我的錯誤是我只更新索引,而不更新索引的映射,因為在創建映射之前發現類型參數之前,存在映射。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM