검색 기능은 개발 및 프로덕션에서 잘 작동합니다. 하지만 Rspec 테스트를 실행할 때. 결과 배열은 항상 내 검색 작업 로그에서rspec 테스트를 사용할 때 Sunspot 검색 결과가 비어 있습니다.
비어, 나는 데이터를 색인하고 올바르게 가져되었습니다 볼 수 있습니다
Parameters: {"utf8"=>"✓", "ga_client_id"=>"", "search"=>"David"}
SOLR Request (3.9ms) [ path=#<RSolr::Client:0x007fb7f9141f00> parameters={data: fq=type%3AToon&sort=created_at_d+asc&q=David&fl=%2A+score&qf=name_text+author_text+toon_typetext+tags_text&defType=dismax&start=0&rows=9, method: post, params: {:wt=>:ruby}, query: wt=ruby, headers: {"Content-Type"=>"application/x-www-form-urlencoded; charset=UTF-8"}, path: select, uri: http://localhost:8981/solr/select?wt=ruby, open_timeout: , read_timeout: , retry_503: , retry_after_limit: } ]
Toon Load (0.4ms) SELECT "toons".* FROM "toons" WHERE "toons"."id" IN (15550, 15551, 15552) AND (state in ('created','flagged'))
내 컨트롤러에서
@search = Toon.solr_search do
fulltext params[:search]
order_by :created_at, :asc
paginate :page => params[:page], :per_page => 9
end
@toons = @search.results
내 RSpec에 시험 : https://gist.github.com/jianbo/6360486 시험보기에서
<%= @search.inspect %> This output correctly as follow:
<Sunspot::Search:{:fq=>["type:Toon"], :sort=>"created_at_d asc", :q=>"papabear", :fl=>"* score", :qf=>"name_text author_text toon_type_text tags_text", :defType=>"dismax", :start=>0, :rows=>9}>
<%= @toons.inspect %> is empty array
UPDATE는 난 그냥 인덱스 데이터베이스 명확한를 할 수없는 경우, 두 번 테스트를 실행 한 후, 내가 처음 실행 테스트에 있던 결과를 검색 할 수 것으로 나타났습니다.
알아 냈습니까? 나는 같은 문제를 가지고있다. –
테스트 환경에 sunspot.yml을 설치 했습니까? 테스트 : SOLR : 가 호스트 이름 : 로컬 호스트 포트 : 8981 LOG_LEVEL : 경고 경로 :/SOLR/테스트 당신이 연결하고있는 페이지에서 – user1883793