2015-06-10 2 views
0

У меня проблема с солнечным пятном. Когда я выполняю запрос SOLR, у меня всегда один и тот же запрос.Запрос всегда то же самое с Sunspot/Solr на рельсах

SOLR Request (3.7ms) [ path=select parameters={fq: ["type:Tag"], start: 0, rows: 30, q: "*:*"} ]

Независимо от того, что я типа в поле поиска, это не всегда тот же самый запрос

Вот мой код:

tag.rb

class Tag < ActiveRecord::Base 
    belongs_to :pictogram 
    searchable do 
     text :name 
    end 
end 

searchs_controller .rb

class SearchsController < ApplicationController 
    def index 
     if params[:search] 
      pictograms = Array.new 
      @term = params[:query] 
      search = Tag.search do 
       fulltext @term 
      end 


      index = 0 
      search.results.each do |t| 
       if !pictograms.include? t.pictogram 
        pictograms[index] = t.pictogram 
        index = index + 1 
       end 
      end 

      @results = pictograms.group_by { |p| p.category } 
      @search_mode = true 
     end 
    end 
end 

index.html

<%= form_tag result_search_path do %> 
    <div class="input-group input-group-lg"> 
     <%= search_field_tag :term,"#{@term}", class: 'form-control' %> 
     <span class="input-group-btn"> 
      <%= submit_tag "Search", :class => 'btn btn-primary btn' %> 
     </span> 
    </div> 
<% end %> 

ответ

0

Я думаю, что PARAMS вы используете для поиска не является правильным.

<%= search_field_tag :term,"#{@term}", class: 'form-control' %> 

означает, что PARAMS, что вы передаете обратно к контроллерам [: термин],

так что код должен быть что-то вроде:

if params[:term].present? 
      pictograms = Array.new 
      @term = params[:term] 
      search = Tag.search do 
       fulltext params[:term] 
      end 

и не Params [: поиск ] и params [: query], как вы пробовали.

Смежные вопросы