我有一个Wallet模型,其中包含两个字段user_id,类型为integer,余数为浮点类型,并且已在Wallets上配置了solr搜索。
钱包余额有可能是负值。
以下是代码块:
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被退回)
有人能提供有效的逻辑来实现这个目标吗?
答案 0 :(得分:0)
必须更改solr配置,不要将“ - ”视为特殊字符,或者需要更改搜索词并将其传递给太阳黑子。