2011-01-28 4 views
0

나는 3 개 레일이 실행중인 앱이 :에 (태양 흑점가 설치된)에게 Heroku에 준비 루비 : 굴욕적인 태양 흑점은 SQL로 검색

  • (이하 "생산"을 실행 레일 환경)
  • 생산을

    1. 지역 개발 Heroku ("생산"Rails 환경 실행)

    Heroku에서 Solo를 사용하면 비용이 발생하며이를 제작 용 앱에 추가 할 예정입니다. 성능이 중요하지 않기 때문에 솔라를 내 공연 앱에 추가하고 싶지 않습니다.

    SQL 쿼리에 대한 Sunspot/Solr 호출을 성능 저하시키는 방법이 있는지 궁금합니다. 다음과 같이

    태양 흑점 내 컨트롤러 모습에 호출 https://github.com/aub/record_filter

    :

    @search = Search.find(params[:id]) 
    @results = Listing.search do |query| 
        query.with(:city).any_of @search.cities if @search.cities 
        query.with(:county).any_of @search.counties if @search.counties 
        ... 
    end 
    
  • +0

    Rails.env.production을 확인 하시겠습니까? Records.where ("그럴싸한 '그 %'")와 Records.search (fulltext 'that')를 구별하는 것 – nurettin

    답변

    1

    것은 당신이 SOLR의 전체 텍스트 검색을 사용하지 않는 경우, 당신은 레일 2를 사용하고, record_filter는 매우 유사한 구문 즉, 가장 좋은 방법은 동일한 인터페이스를 제공하지만 Solr과 SQL을 각각 두 개의 어댑터 클래스로 사용하는 두 개의 어댑터 클래스를 정의하는 것입니다.

    +0

    이 답변을 주셔서 대단히 감사합니다! 불행히도 레일즈 3을 사용하고 있습니다. 미안합니다. 내 문제는 코드 실행시 Sunspot이 지원되는지 여부를 구분하는 것입니다. 이것에 대한 조언? (여기서 두려운 것은 두 가지 Heroku 앱 모두 프로덕션 환경을 실행하기 때문입니다.) – Mike

    1

    또한 WebSolr 애드온을 사용하는 경우 실제로는 두 개의 색인이 제공됩니다. 웹 솔라 콘솔에 로그인하면 두 번째 색인을 만들 수있게되며 두 번째 색인에서 해당 색인을 가리킬 수 있습니다 준비 사이트.

    +0

    <3 개의 스테이징 환경. –