У меня проблема с использованием драгоценного камня солнечных пятен с solr
Я использую последний гем из git (2.1.1 также пробовал с 2.1.0), я пробовал версии solr - 3.2, 3.5, 4.2, 4.9
Проблема в том, что порядок по целочисленному значению совершенно не работает.
Мой код:
@ads = Ad.solr_search do
paginate :page => params[:page], :per_page => 10000 #just for debug, not working with 25 as well
order_by :priority, :desc
end
В модели солнечное пятно инициализируется следующим кодом:
searchable do
text :search_name
text :search_description
integer :id
integer :state_id
integer :city_id
integer :district_id
boolean :moderated
integer :category_id
integer :priority
integer :price_index
latlon(:location) { Sunspot::Util::Coordinates.new(lat, lon) }
integer :ad_type_id
boolean :active
time :created_at
end
В результате полный бардак - http://i.imgur.com/Y7gazWw.png
Я ожидаю, что объявления с наивысшим приоритетом будут отображаться первыми, но вместо этого они отображаются в случайном порядке на последней (!) странице.
Что интересно - когда я применяю больше фильтров - например, по цене, city_id, state_id и еще чему-то - он либо начинает работать правильно, либо, по крайней мере, не так сильно глючит (например, приоритетные записи, показанные на первой странице, но все же некоторые из них перемешаны). Но чем меньше фильтров я применяю, тем больше сортировка глючит, вплоть до полной поломки.
Я пробовал гуглить похожие проблемы, но ничего не нашел, также пробовал все, что могло повлиять на проблему - разные версии solr, разные версии gem, пытался немного изменить код (однако не так много, чтобы воспроизвести проблему 3 строк кода достаточно) - ничего не изменило поведение. Я переиндексировал, наверное, около 30 раз - каждый раз пробовал разные версии.
Может кто подскажет как решить или хотя бы что еще можно попробовать
Заранее спасибо!