Имам модел на Wallet с две полета user_id от тип integer и баланс от тип с плаваща запетая и съм конфигурирал solr търсене на Wallets.
Има шансове балансът на портфейла да е отрицателна стойност.
По-долу са кодовите блокове:
Wallet.rb
searchable do
text :balance
text :user do
user.name
end
end
WalletsController.rb
def index
@search = Wallet.search {
fulltext params[:search]
paginate :page => params[:page], :per_page => 10
}
end
Портфейли/index.html.erb
<%= form_tag wallets_path, :method => :get do %>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag "Search" %>
<% end %>
С тази горна реализация търсенето връща неправилни записи при търсене на портфейли с отрицателен баланс.
Пример:
търсене : 30
резултати : 30, -30търсене : -30
резултати : -100, 500 (Портфейли без баланс = 30/-30 се връщат)
Може ли някой да предостави ефективна логика, за да работи това?